我正在創建一個界面,允許用戶將&拖放預設響應放入「回覆」<textarea>
。我決定使用jQuery UI。jQuery UI拖放問題 - 輸入後不允許放入textarea
問題:在<textarea>
輸入後,.droppable()功能壞了。
我可以在裏面<textarea>
單擊,然後刪除文本,但打字後,我不能刪除任何文本放入<textarea>
...
的jQuery:
$(document).ready(function(){
$(init);
// Initialization
function init(){
// Draggable
$(".response").draggable({
helper : "clone",
cursor : "move"
});
// Droppable
$(".survey-reply textarea").droppable({
accept : ".response",
drop : dropResponse
});
}
// When Dropped
function dropResponse(event,ui) {
var draggable = ui.draggable;
// Get existing text
var text = $(this).text();
// If field is empty then just apply the dragged response
if (text == "") {
$(this).text(draggable.children(".saved-response").val()).appendTo(this);
}
// If not, then add the dragged response to the present text
else {
$(this).text(text + ' ' + draggable.children(".saved-response").val()).appendTo(this);
}
}
});
這完成我所需要的(幾乎)。它允許我將<li>
響應拖入<textarea>
。它還編譯文本而不是替換<textarea>
中的文本。
它不會做什麼:我需要的用戶能夠在<textarea>
輸入,然後拖動響應到<textarea>
,此時預設響應被添加到輸入文字。
目前,我可以在<textarea>
之內單擊,並在焦點位置拖動響應。但由於某些原因,打字在<textarea>
禁止投擲的事件...
如果有人可以幫助我弄清楚如何鍵入的文本區域,然後拖動反應到同一個文本區域,我會很棒!
注:我不包括HTML,但我向你保證,在選擇是正確的。我確實有佔位符屬性應用於<textarea>
。我不相信這與問題有任何關係(因爲拖放文本消除了顯示的佔位符文字...
感謝的人!我試過了。val()在'var text'之前,但是我需要應用它。而我從jQuery UI文檔直接獲得的其他代碼......但是,我的應用程序並不需要.appendTo()。非常感謝! @clav – derekmx271
@ derekmx271:正好!今天幫助了我 –