Javascript拖放:ondragleave工作解决方案
Javascript Drag&Drop: ondragleave working solution?
是否有任何工作解决方案的ondragleave?
.addEventListener('ondragleave',function(){
console.log('nothing');
});
这行不通。我做错了什么?
谢谢,)
Try
.addEventListener ("dragend",function(){
console.log('nothing');
});
编辑:这取决于你使用什么浏览器。信息从http://help.dottoro.com/ljsluknm.php。不同的浏览器使用不同的事件名称。
var source = document.getElementById ("source");
var target = document.getElementById ("target");
if (source.addEventListener) { // all browsers except IE before version 9
// Firefox from version 3.5, Google Chrome, Safari, Internet Exlorer
source.addEventListener ("dragstart", DumpInfo, false);
// Firefox before version 3.5
source.addEventListener ("draggesture", DumpInfo, false);
// Firefox, Google Chrome, Safari, Internet Exlorer
source.addEventListener ("drag", DumpInfo, false);
// Firefox, Google Chrome, Safari, Internet Exlorer
source.addEventListener ("dragend", DumpInfo, false);
// Firefox, Google Chrome, Safari, Internet Exlorer
target.addEventListener ("dragenter", DumpInfo, false);
// Firefox, Google Chrome, Safari, Internet Exlorer
target.addEventListener ("dragover", DumpInfo, false);
// Firefox from version 3.5, Google Chrome, Safari, Internet Exlorer
target.addEventListener ("dragleave", DumpInfo, false);
// Firefox
target.addEventListener ("dragexit", DumpInfo, false);
// Firefox from version 3.5, Google Chrome, Safari, Internet Exlorer
target.addEventListener ("drop", DumpInfo, false);
// Firefox before version 3.5
target.addEventListener ("dragdrop", DumpInfo, false);
}
else {
if (source.attachEvent) { // IE before version 9
source.attachEvent ("ondragstart", DumpInfo);
source.attachEvent ("ondrag", DumpInfo);
source.attachEvent ("ondragend", DumpInfo);
target.attachEvent ("ondragenter", DumpInfo);
target.attachEvent ("ondragover", DumpInfo);
target.attachEvent ("ondragleave", DumpInfo);
target.attachEvent ("ondrop", DumpInfo);
}
}
前面的答案是不正确的,ondragleave和ondragend是两个不同的事件,它们在不同的元素上被触发。brenjt的意思可能是尝试ondragexit事件也就是Mozilla中ondragleave的名称<3.5 .
ondragleave会在一个可以接收放置事件的元素的拖放结束时触发。
ondragend在ondragstart所触发的元素上被触发。
参见示例:https://developer.mozilla.org/en-US/docs/DragDrop/Drag_Operations
你的ondragleave不触发的原因可能是
.addEventListener('ondragleave',function(){
应该是
.addEventListener('dragleave',function(){
在我读过的文档中,例如在http://www.quirksmode.org/js/events_advanced.html中,当使用. addeventlistener()时,事件指定没有"on"。
p。顺便说一句,Mozilla 22似乎也会在悬停在可拉放元素上一段时间后触发ondragleave事件。DS。
相关文章:
- 可以转换显示属性吗?如果没有,什么'这是最好的解决方案
- iPad虚拟键盘-哪一个-javasctript解决方案
- AJAX HTTP基本身份验证解决方案
- 在chrome web商店中打开时,是否有允许执行内容/后台脚本的解决方案
- Chart.js-添加渐变而不是纯色-实现解决方案
- learnyounode杂耍异步解决方案不工作
- 了解因子分解解决方案
- 我根据解决方案按类对
- 元素进行分组,但需要帮助了解它的工作原理
- JavaScript没有'JSP页面重定向后无法工作..任何解决方案
- 数据切换和onclick不能一起工作,我太新了,无法应用@epascarello的解决方案
- Javascript在页面刷新后工作,不知道解决方案
- 如何修改给定的代码打开两个链接在一次点击(没有解决方案为我工作)
- WordPress解决方案在jquery 1.11.0中不工作
- 你如何得到解决方案的屏幕宽度和高度工作
- 为什么这个setTimeout解决方案不能在javascript中工作
- Javascript拖放:ondragleave工作解决方案
- AngularJs:返回已经找到的嵌套$http解决方案的承诺,但为什么它能工作
- 寻找一个解决方案,作为radiobutton.click()挂Safari,但在Chrome中工作
- 文档.execCommand复制命令不工作或其他解决方案
- jquery是(“;: focus")在safari中不工作.如果任何解决方案($ ().parents(&