preventDefault();对放置事件没有任何影响

时间:2019-02-20 01:16:36

标签: javascript preventdefault

我有一个图片上传-<div>,用户可以在其中放图片。该preventDefault();元素上的<div>正常工作。

但是,当用户将图片放在<div>之外时,浏览器将其打开。

为防止我添加:

$(document).ready(function(){

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

事件处理程序被触发,但是preventDefault();-动作没有任何作用。浏览器始终加载图片。

1 个答案:

答案 0 :(得分:1)

您应该指定一个默认参数。还要添加一个dragover事件监听器:

$(() => {
  $("body").on("drop", (e = event) => e.preventDefault())
      .on("dragover", (e = event) => e.preventDefault());
});