gpt4 book ai didi

javascript - 在 Firefox 或 IE 中不触发拖动事件

转载 作者:太空狗 更新时间:2023-10-29 14:51:18 24 4
gpt4 key购买 nike

在 Chrome 中,拖动事件被触发并记录到控制台。在 Firefox 和 IE 中,它不会。

<html>
<head>

<style>
#d {
width:20px;
height:20px;
background-color: red;
}
</style>

</head>
<body>

<div id="d" draggable="true"></div>

<script>
d = document.getElementById('d');
d.addEventListener('dragstart', function(e){
console.log("dragstart:", e);
});
d.addEventListener('drag', function(e){
console.log("drag:", e);
});
</script>

</body>
</html>

fiddle 版本:http://jsfiddle.net/korimako/e1wqafyr

如何设置一个 div 来发送拖动事件并正确监听它们?

最佳答案

Firefox 要求 dataTransfer在触发拖动事件之前设置

d = document.getElementById('d');

d.addEventListener('drag', function(e){
console.log("drag:", e)
});

d.addEventListener('dragstart', function(e){
e.dataTransfer.setData('application/node type', this);
console.log("dragstart:", e)
});

FIDDLE

参见 this对于拖动类型

关于javascript - 在 Firefox 或 IE 中不触发拖动事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27788991/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com