丢弃事件不会在FF中停止

时间:2012-12-05 15:50:48

标签: html5 preventdefault

适用于Chrome,但不适用于Firefox 16.0.2版。甚至不打扰IE。 当我将文件从桌面拖到FF时,将其放在那里,它应该停止默认操作(打开文件),但事实并非如此。显然很容易,只是看不到它,请帮忙。这适用于chrome,但不适用于FF:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<body>
    Why ??
</body>
<script type="text/javascript">

    $(document).bind('drop', docDrop);

    function docDrop(e) {
     e.stopPropagation();
     e.preventDefault();
     return false;
    }

</script>

2 个答案:

答案 0 :(得分:0)

试试e.stopImmediatePropagation()。如果停止传播,则表示您已多次绑定drop事件。您可能希望在事件完成之前或之后考虑unbind

答案 1 :(得分:0)

是的,让它自己工作。 所以这是未来googlers的解决方案:

Firefox还需要定义'dragover'事件,如果你想让'drop'事件起作用的话。所以这里的代码有效:

$(document).bind('dragover', function(e){
    e.preventDefault();
    return false;
});
$(document).bind('drop', function(e){
    e.preventDefault();
    return false;
});

关于这个问题的另一个话题: How to stop redirecting after `drop` event?