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();
});
});
在firefox 17中,当将文件从桌面拖放到浏览器中时,资源管理器8将在另一页中加载图像。我添加了preventDefault(),它在chrome中完美运行。可以做什么,以便在ff中阻止操作,即浏览器。
答案 0 :(得分:5)
尝试更改代码。
$('body').on('dragover drop', function(e){
e.preventDefault();
});
还必须取消dragover事件,以便某些浏览器听取丢弃。引用mdn
dragenter和dragover事件的监听器用于表示 有效的放置目标,即拖动项目的位置 下降。网页或应用程序的大多数区域都不是有效的地方 删除数据。因此,这些事件的默认处理方式不是 允许下降。
如果要允许丢弃,则必须阻止默认处理 取消活动。您可以通过返回false来执行此操作 属性定义的事件监听器,或通过调用事件的监听器 event.preventDefault方法。后者在a中可能更可行 在单独的脚本中定义的函数。