我正在尝试通过将它们重定向到隐藏字段来处理复制和粘贴到我正在开发的应用程序。问题是,当我在字段上设置visibility: hidden
时,我试图将输入定向到,输入或复制/粘贴到字段中似乎不起作用。我正在尝试使用<textarea>
标记来捕获文本,并使用document.select('textAreaID').focus()
设置焦点,除非我在css中设置visibility: hidden
,否则它会起作用。
Test fiddle that shows that behavior. Blue square gives focus, red and green toggle visibility.
是否有一种隐藏文本区域的好方法,仍然可以粘贴或输入文本区域?如果没有,是否有一种很好的替代方法可以重定向复制行为以产生一大块可以解析,编辑和使用的文本?
(另外:小提琴中有一些d3,因为我将它用于其他东西,它提供了方便的API。)
答案 0 :(得分:2)
看起来浏览器不允许关注可见性:隐藏元素。在其他浏览器上可能会有所不同,但在Chrome上它并不适合我: http://jsfiddle.net/ps6KK/
因为我们无法实现可见性:隐藏我们需要基本上强制textarea看起来像是隐藏的。您可以通过消除所有高度/重量/等并将背景设置为透明来实现。如果需要,您可能还想将文本颜色设置为透明。
#textDiv {
resize: none;
padding: 0;
height: 0;
border: 0;
width: 0;
background: transparent;
}
更详细的例子如下: http://jsfiddle.net/4Jwxv/1/
答案 1 :(得分:0)
您可以在jQuery中使用.html()方法来更新textarea
答案 2 :(得分:0)
当你“复制”(而不是“粘贴”)它时,存储文本是你的问题吗?您可以使用一个好的旧全局JavaScript变量(未在事件处理函数内部声明,但在外部);无需将其存储到隐藏的HTML元素中。