har*_*077 1 jquery drag-and-drop preventdefault
jQuery的:
$(document).ready(function () {
$('input[type=file]').uploadImage();
jQuery.event.props.push('dataTransfer');
$(".upload-cont").bind('dragenter', function (e) {
$(".upload-cont").css("border", "1px dashed black;");
});
$(".upload-cont").bind('drop', function (e) {
var files = e.dataTransfer.files;
e.preventDefault();
});
$("body").bind('drop', function (e) {
e.preventDefault();
});
});
Run Code Online (Sandbox Code Playgroud)
在Firefox 17,资源管理器8中,当一个文件从桌面拖放到浏览器时,图像将被加载到另一个页面中.我添加了preventDefault(),它在chrome中完美运行.可以做什么以便在ff中阻止动作,即浏览器.
尝试更改代码.
$('body').on('dragover drop', function(e){
e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)
必须取消dragover事件,以便某些浏览器听取丢弃.引用mdn
dragenter和dragover事件的监听器用于指示有效的放置目标,即拖放项目可能被丢弃的位置.网页或应用程序的大多数区域都不是丢弃数据的有效位置.因此,这些事件的默认处理是不允许丢弃.
如果要允许丢弃,则必须通过取消事件来阻止默认处理.您可以通过从属性定义的事件侦听器返回false,或通过调用事件的event.preventDefault方法来执行此操作.后者在单独脚本中定义的函数中可能更可行.