Javascript IE 10:dragstart事件不';如果<;img>;由<;a>;
jsFiddle: HTML:Javascript IE 10:dragstart事件不';如果<;img>;由<;a>;,javascript,html,drag-and-drop,internet-explorer-10,Javascript,Html,Drag And Drop,Internet Explorer 10,jsFiddle: HTML: JavaScript: //请原谅我设计了这个糟糕的函数;) //快速肮脏的解决方案 函数日志(msg){ document.body.innerHTML=document.body.innerHTML+“”+msg; } var myImg=document.getElementsByTagName(“img”)[0]; myImg.addEventListener(“dragstart”,函数(evt){ 日志(“开始拖动”); }); 日志信息出现在C
JavaScript:
//请原谅我设计了这个糟糕的函数;)
//快速肮脏的解决方案
函数日志(msg){
document.body.innerHTML=document.body.innerHTML+“
”+msg;
}
var myImg=document.getElementsByTagName(“img”)[0];
myImg.addEventListener(“dragstart”,函数(evt){
日志(“开始拖动”);
});
日志信息出现在Chrome 27、Safari 5.1和Opera 12.15中。只有IE 10不触发任何事件(尽管它在图像被删除后触发drop
事件)
编辑1在IE 10中,在链接标记处侦听
dragstart
效果很好。我认为您必须取消初始文本选择事件,并激活拖动功能才能使其工作
编辑1:
var output = document.querySelector('#message')
, myImg = document.querySelector("#test")
function log(msg) {
output.innerHTML = msg + ' ' + (+new Date());
}
myImg.addEventListener('selectstart', function (evt) {
evt.preventDefault && evt.preventDefault();
this.dragDrop && this.dragDrop(); //activates DnD for IE
return false;
});
myImg.addEventListener('dragstart', function (evt) {
log('started');
});
myImg.addEventListener('dragend', function (evt) {
log('ended');
});
祝你好运
注意:
IE默认情况下会将带有href属性的标签视为可拖动的。但是当您删除href属性时,它就可以正常工作了。其实很有趣。codepen.io/snypelife/pen/hImer谢谢你的回答,也很抱歉我的回复太晚。我将在接下来的几天里试一试;)看看这个。它甚至在IE9中也适用于我:谢谢,这非常有效!但是实际的相关差异在哪里呢?我相信这是因为您使用图像和日志消息更新了,所以连接了事件侦听器的原始图像被没有侦听器的图像替换了。有道理?很高兴我能帮助你!看来IE treats在Firefox 50上遇到了同样的问题。Firefox的问题可以在这里找到: