2013-03-01 111 views
1

我想做一个拖放功能,我读了很多参考。js,当放下文件,不打开它

当我自己做。当我删除一个文件时,浏览器会自动加载并将页面更新为已删除文件,并将其作为默认操作。因此,dragover和drop事件不会被解雇。

el.on('dragover', function(){ 
    alert(1); 
}); 

el.on('drop', function(){ 
    alert(1); 
}); 

我检查了这些例子,但我无法找到一个特定的行来从浏览器中删除这个默认的重载功能。

我错过了什么?

非常感谢。

回答

2

您应该使用该函数参数的preventDefault()方法。
为例,请参阅:http://jsfiddle.net/kze6V/

document.addEventListener('drop', function(e) { e.preventDefault(); }, false); 
+0

我检查你的榜样......是的作品,但即使我添加e.preventDefault();该浏览器只会在我的示例中加载已删除的文件。 jQuery支持$ el.on('drop')吗? – Till 2013-03-01 01:06:41

+0

当然,请参阅小提琴的[this update](http://jsfiddle.net/kze6V/1/),以了解如何使用'on'将事件限制为JQuery元素。但是,不要忘记使用'e.originalEvent'而不是'e'来访问被删除的文件。 – 2013-03-01 03:36:46

相关问题