jQuery 可拖动可排序输入元素
我使用 jQuery UI 库来拖动和排序元素: http://jqueryui.com/demos/sortable 这工作正常,但我无法拖动输入元素,例如文本区域。这些文本区域被禁用,因此不需要能够在其中写入。 我用谷歌搜索了一下,发现我并不是唯一一个遇到这个问题的人。有一些半解决方案,但它们似乎都过时了。 (jQuery 发展很快)。
I use the jQuery UI library to drag and sort elements: http://jqueryui.com/demos/sortable
This works fine but I can't drag input elements such as a textarea. These textarea's are disabled so no need to be able to write in them.
I googled around a bit and noticed that I ain't the only one with this problem. There are some semi-solutions for this but they are all dated it seems. (jQuery develops quickly).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果我能够帮助您,您必须为我提供一些代码。
(注意:如果您尝试在抓取文本区域时拖动项目,则应该实现一些开关来打开/关闭选择。我建议采用一种不同的方法,您可以随时通过单击内部来编辑文本区域。为了排序,我将使用 jQuery可
排序与列表一起使用,即
和包含
的
。通常此类问题是由不正确的 html 引起的。
jQuery
如果您想禁用列表项内的文本选择,请对所有文本元素执行此操作。不是文本区域。将文本包裹在 p、span、div 中,并仅在这些元素上调用disableSelection()。
在对脚本进行故障排除之前验证 html 也是一个好习惯。我更喜欢 http://validator.w3.org/ 服务。
You have to provide some code for me if I should be able to help you.
(Note: If you are trying to drag the item while grabbing the textarea you should implement some switch to turn selection on/off. I would suggest a different approach where you can always edit the textarea by clicking inside. For sorting I would use a handle to grab.)
The jQuery sortable works with lists, that is
<ul>
and<ol>
containing<li>
. Often issues like this is caused by incorrect html.jQuery
If you like to disable text-selection inside the list-item, do it on all text-elements. Not the textarea. Wrap text in p, span, div and call disableSelection() only on those elements.
It's also a good practice to validate html before troubleshooting scripts. I prefer the http://validator.w3.org/ service.
这应该有效:
HTML:
jQuery:
This should work:
HTML:
jQuery: