Jquery html 5可拖动本机无法捕获丢弃事件
我有一个div,它依次包含10个可拖动divJquery html 5可拖动本机无法捕获丢弃事件,jquery,html,drag-and-drop,draggable,Jquery,Html,Drag And Drop,Draggable,我有一个div,它依次包含10个可拖动div <div id="doc"> <div id"1" draggable="true"> lots of stuff here</div> <div id"2" draggable="true"> lots of stuff here</div> ......... </div> 无法让它工作。我尝试了许多不同的方法来捕捉这一事件,但我无法完全记住它们 我不想把事情复
<div id="doc">
<div id"1" draggable="true"> lots of stuff here</div>
<div id"2" draggable="true"> lots of stuff here</div>
.........
</div>
无法让它工作。我尝试了许多不同的方法来捕捉这一事件,但我无法完全记住它们
我不想把事情复杂化。本机拖放正是我想要的。我可以有一个计时器或mouseup事件监听器来检查DOM中项目的顺序,但我无法捕获这个看似简单且已经在工作的活动,这让我很沮丧
有没有想过我做错了什么 在本文中,您可能会找到解决方案: 您需要创建一个侦听器来取消事件“dragend”,并在该函数中检查属性dropEffect,如果没有,则取消拖动,否则它将指定执行哪个操作
如果您想要其他解决方案,我建议使用Jquery UI及其方法Dragable和dropable,这非常容易使用。我不知道这是否仍然相关。但是@Vishkey给了我寻找一些
文档的想法
我也有同样的问题。我可以捕获“drop”
,但是所有其他drap事件都很好。答案似乎隐藏在下一段中:
当用户释放鼠标时,拖放操作结束。如果
鼠标被释放到一个元素上,该元素是一个有效的放置目标,
也就是说,取消最后一个dragenter或dragover事件,然后
投掷将成功,投掷事件将向目标开火。
否则,将取消拖动操作,并且不会触发拖放事件
因此,仔细观察后,我们发现只有当目标是有效的投放目标时,才会触发投放事件。如果我们再看一次(这次更近一点),我们就会看到这一点
有效下降目标,
也就是说,取消上次dragenter或dragover事件的事件
因此,要想消除这种影响,唯一需要做的就是调用event.preventDefault()代码>在dragpover上
或在dragenter上
$('div').on('drop', function(){alert("test")});