Javascript ondragenter警告容器';身份证
我有一个img,我只想放在div中,名为Javascript ondragenter警告容器';身份证,javascript,jquery,html,drag-and-drop,Javascript,Jquery,Html,Drag And Drop,我有一个img,我只想放在div中,名为#div1。当我拖过div时,我想获取容器的id,但这会发出很多警报,而不仅仅是一个 <img id="drag1" src="http://www.vectortemplates.com/raster/batman-logo-big.gif" draggable="true" ondragstart="drag(event, this)" width="336" height=
#div1
。当我拖过div时,我想获取容器的id,但这会发出很多警报,而不仅仅是一个
<img id="drag1"
src="http://www.vectortemplates.com/raster/batman-logo-big.gif"
draggable="true"
ondragstart="drag(event, this)"
width="336"
height="69"/>
<div id="div1"
ondrop="drop(event)"
ondragenter="allowDrop(event, this)">
</div>
那为什么我会收到很多警报
请参见此处的演示:说明
ondragover
事件是在光标移动到div
上的每个像素时触发的。
尝试使用ondragleave
事件,该事件在释放鼠标按钮时触发
解决方案 在您的div上使用
ondraglave
事件:
HTML
解释
ondragover
事件是在光标移动到div
上的每个像素时触发的。
尝试使用ondragleave
事件,该事件在释放鼠标按钮时触发
解决方案 在您的div上使用
ondraglave
事件:
HTML
这个公认的答案是不正确的 从MDN: 当在有效的放置目标上放置元素或文本选择时,将触发放置事件 以及: 当拖动的元素或文本选择离开有效的放置目标时,将触发dragleave事件 当触发
ondragleave
事件时调用allowDrop()将允许在拖动离开该元素后拖放到DIV。当用户松开鼠标按钮时,相关元素将不会收到最终的ondrop
事件
这个问题似乎已经被编辑过了,在这一点上我觉得没问题。OPs问题中引用的JSFIDLE表明了这一点,因为它在div1上使用了
ondragover
而不是ondragenter
从MDN:
当在有效的放置目标上放置元素或文本选择时,将触发放置事件
以及:
当拖动的元素或文本选择离开有效的放置目标时,将触发dragleave事件
当触发ondragleave
事件时调用allowDrop()将允许在拖动离开该元素后拖放到DIV。当用户松开鼠标按钮时,相关元素将不会收到最终的ondrop
事件
这个问题似乎已经被编辑过了,在这一点上我觉得没问题。OPs问题中引用的JSFIDLE建议这样做,因为它在div1@Blackersoul上使用
ondragover
而不是ondragenter
,是否有其他方法可以做到这一点??它与我的脚本崩溃…:'(我看不到任何东西,因为Chrome崩溃了,它被关闭了。请向Google发送一份报告,并尝试更新您的浏览器。此代码在此处工作正常。如果JSFIDLE适合您,则此代码不是问题所在。@Blackersoul,还有其他方法可以做到这一点吗?它与我的脚本一起崩溃…:'(我看不到任何东西,因为Chrome崩溃,它关闭了。请向Google发送一份报告,并尝试更新您的浏览器。此代码在此处运行良好。如果JSFIDLE适合您,则此代码不是问题所在。
function allowDrop(ev, obj)
{
alert(obj.id);
}
<div id="div1" ondragleave="allowDrop(event, this)"></div>