2

我使用jQuery UI庫來拖拽和排序元素:http://jqueryui.com/demos/sortable 這工作正常,但我不能拖動輸入元素,如textarea。這些textarea被禁用,因此不需要寫入它們。 我搜索了一下,注意到我不是唯一有這個問題的人。有一些半解決方案,但它們看起來都過時了。 (jQuery快速發展)。jQuery可拖動排序輸入元素

回答

0

這應該工作:

HTML:

<div class="sortable-wrapper"> 
<ul id="sortable-list"> 
<div class="ui-state-default"> 
<textarea></textarea> 
</div> 
</ul> 
</div> 

的jQuery:

$("#sortable-list").sortable(); 
$("#sortable-list").disableSelection(); 
+0

嗯,我只是注意到一些奇怪的東西。正如我所說,我已禁用textarea的,但如果我不這樣做,並添加此:$(「#aaa」)。draggable({cancel:null}); ...它拖動 – Lahey 2011-03-30 18:30:16

+0

它拖動獨立... – Lahey 2011-03-30 18:40:39

0

你必須爲我提供了一些代碼,如果我應該能夠幫助你。 (注意:如果你想在抓取文本區的時候拖動這個項目,你應該實現一些開關來打開/關閉選擇,我會建議一種不同的方法,你可以通過點擊裏面來編輯textarea。我會用一個句柄來抓取。)

jQuery可排序與列表一起使用,即<ul><ol>包含<li>。像這樣的問題通常是由不正確的html引起的。

<ul class="my-items"> 
<li><textarea></textarea></li> 
<li><textarea></textarea></li> 
<li><textarea></textarea></li> 
<li><textarea></textarea></li> 
</ul> 

jQuery的

$(".my-items").sortable(); 

如果要禁用列表項內的文本選擇,這樣做的所有文字元素。不是textarea。在p,span,div中包裝文本並僅在這些元素上調用disableSelection()。

在故障診斷腳本之前驗證html也是一種很好的做法。我更喜歡http://validator.w3.org/服務。

相關問題