防止默认操作。 仅在chrome中工作

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中阻止动作,即浏览器。

尝试更改代码。

 $('body').on('dragover drop', function(e){ e.preventDefault(); }); 

必须取消dragover事件,以便某些浏览器听取丢弃。 引用mdn

dragenter和dragover事件的监听器用于指示有效的放置目标,即拖放项目可能被丢弃的位置。 网页或应用程序的大多数区域都不是丢弃数据的有效位置。 因此,这些事件的默认处理是不允许丢弃。

如果要允许删除,则必须通过取消事件来阻止默认处理。 您可以通过从属性定义的事件侦听器返回false,或通过调用事件的event.preventDefault方法来执行此操作。 后者在单独脚本中定义的函数中可能更可行。