我使用 jQuery UI 库来拖动和排序元素: http: //jqueryui.com/demos/sortable 这工作正常,但我不能拖动输入元素,如 textarea。这些文本区域被禁用,因此无需在其中写入。我用谷歌搜索了一下,发现我不是唯一一个遇到这个问题的人。对此有一些半解决方案,但它们似乎都过时了。(jQuery 发展很快)。
问问题
7026 次
2 回答
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();
于 2011-03-30T17:32:15.777 回答
0
如果我能帮助你,你必须为我提供一些代码。
(注意:如果您在抓取 textarea 时尝试拖动项目,您应该实现一些开关来打开/关闭选择。我建议您采用不同的方法,您可以随时通过单击内部来编辑 textarea。对于排序,我会使用把手抓住。)
<ul>
jQuery sortable 适用于列表,即<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();
如果您想禁用列表项中的文本选择,请在所有文本元素上执行此操作。不是文本区域。将文本包装在 p、span、div 中并仅在这些元素上调用 disableSelection()。
在对脚本进行故障排除之前验证 html 也是一种很好的做法。我更喜欢http://validator.w3.org/服务。
于 2011-06-21T12:33:49.397 回答