2011-09-24 54 views
6

我在我的網站上有一個div,當它被點擊時,它顯示搜索框(用jQuery完成)。DIV拖放文本

但是,我想這個div接受drag'n'dropped文本。在我的使用案例中,用戶從網站上的任何位置選擇常規文本,然後拖放它以將其複製粘貼到搜索框中。

如果搜索框總是可見的,他可以簡單地將它放入文本框中,由瀏覽器/操作系統本地處理。但是,有沒有辦法用這個div來模擬同樣的事情?用戶將他的文本放到div上,然後它會觸發click事件來顯示文本框並將放置的文本粘貼到框中。

我的網站使用Modernizr + jQuery + jQuery UI和HTML5/CSS3。 IE6兼容性不是問題。

預先感謝您!

+0

[This question](http://stackoverflow.com/questions/1922559/jquery-drag-drop-into-a-text-area)涵蓋了一個類似的話題。 –

+0

我看到了這個話題,但它需要拖動的文本在一個特定的容器中,然後拖動(),而我正在談論你突出顯示和拖動的任何舊的常規文本。我已經嘗試將droppable()應用於div,並且放置事件似乎不會觸發。 –

+0

也許使用'mouseover','mouseup'和'document.getSelection'的組合可以。查看http://stackoverflow.com/questions/1317727/get-selected-text-on-the-page-not-in-a-textarea-with-jquery –

回答

7

您可以使用HTML5拖放事件:

$('#dropTextHere').bind('drop', function (e) { 
    var theDroppedText = e.originalEvent.dataTransfer.getData('Text'); 
}); 

你可以閱讀更多關於它here

+0

非常感謝!該代碼和文章做到了! –