2014-03-04 55 views
0

我試圖通過將它們重定向到隱藏字段來處理複製和粘貼到正在開發的應用程序。問題是,當我在字段上設置visibility: hidden時,我試圖將輸入引導到,在字段中鍵入或複製/粘貼似乎不起作用。我試圖使用<textarea>標籤來捕捉文本,並設置焦點document.select('textAreaID').focus(),它的工作原理,除非我在css中設置visibility: hidden如何將文本輸入指向html頁面中的隱藏字段?

Test fiddle that shows that behavior. Blue square gives focus, red and green toggle visibility.

是否有隱藏的文本區域,仍然能夠粘貼或鍵入到它的好辦法?如果沒有,是否有一種很好的替代方法來重定向複製行爲以產生可以解析,編輯和使用的文本塊?

(另:有一個在搗鼓一些D3,因爲我使用的是別的東西,它提供了方便的API。)

回答

2

看起來瀏覽器不允許關注可見性:隱藏的元素。這可能是對其他瀏覽器不同,但它不是爲我工作在Chrome: http://jsfiddle.net/ps6KK/

因此,既然我們不能做visibility:hidden的,我們需要實質上迫使textarea的讓自己看起來就像是隱藏的。你可以通過消除它的所有高度/重量等,並將背景設置爲透明。如果需要,您可能還想將文本顏色設置爲透明。

#textDiv { 
    resize: none; 
    padding: 0; 
    height: 0; 
    border: 0; 
    width: 0; 
    background: transparent; 
} 

更詳細的例子是在這裏: http://jsfiddle.net/4Jwxv/1/

+0

忘記調整大小:無:) – ckersch

0

你也許可以使用jQuery中的html的()方法來更新textarea的

+0

我不需要更新文本區域,我需要能夠將輸入指向它。我試圖抓住一些正在ctrl + v粘貼的文本,而不直接與剪貼板混合,並希望它粘貼到隱藏的文本區域。 – ckersch

+0

正確,所以使用jQuery事件處理程序來捕獲粘貼的值,並使用.html()方法將該值賦予textarea – khaos337

+0

這需要我將數據粘貼到文檔中的其他位置,此時我不會「不需要將其粘貼到文本區域中,因爲文本區域只是一個方便的地方來捕捉數據進行處理。 – ckersch

0

這是你的問題存儲在您的「複製」(不是「粘貼」),它的文本?你可以用一個好的舊的全局JavaScript變量來做到這點(不是在事件處理函數中聲明的,而是在外部);無需將其存儲到隱藏的HTML元素中。

相關問題