Firefox将我转发到另一个网站,而不是在Drag&滴

Firefox forwards me to another website instead of passing data while Drag&Drop

本文关键字:Drag amp 转发 另一个 网站 Firefox      更新时间:2023-09-26

我有一个奇怪的问题。。我必须在Drag&滴我使用jQuery,因此我通过event.originalEvent.dataTransfer.getDatasetData进行查询。

它在Chrome和Opera中运行良好,但在Firefox中,它会将我转发到另一个网站,关于我传递的内容。这个例子将我转发给hello.com,因为setData中有"hello"

$(document).ready(function() {
  $("#drop")
    .on("drop", function(event) {
      console.log("drop");
      msg = event.originalEvent.dataTransfer.getData("text");
      console.log(msg);
    })
    .on("dragover", function(event) {
      event.preventDefault();
      event.stopPropagation();
    });
  $("#drag")
    .on("dragstart", function(event) {
      event.originalEvent.dataTransfer.setData("text", "hello");
    });
});

在这里试试(移动黑色方块上的红色方块):https://jsfiddle.net/opfzqc7g/

知道吗?

据我所知,在drop事件中也使用了preventDefault(),但我不知道为什么它在其他浏览器中也能工作。

$(document).ready(function() {
  $("#drop")
    .on("drop", function(event) {
      event.preventDefault();
      console.log("drop");
      msg = event.originalEvent.dataTransfer.getData("text");
      console.log(msg);
    })
    .on("dragover", function(event) {
      event.preventDefault();
      event.stopPropagation();
    });
  $("#drag")
    .on("dragstart", function(event) {
      event.originalEvent.dataTransfer.setData("text", "hello");
    });
});