我有一个奇怪的问题。。我必须在Drag&滴我使用jQuery,因此我通过event.originalEvent.dataTransfer.getData
和setData
进行查询。
它在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");
});
});