在 Firefox 或 IE 中不触发拖动事件
The drag event not firing in Firefox or IE
在 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>
小提琴版本: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)
});
有关拖动类型,请参阅 this
在 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>
小提琴版本: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)
});
有关拖动类型,请参阅 this