繁体   English   中英

如何在IE8中禁用ondblclick?

[英]How do I disable ondblclick in IE8?

因此,我已经尝试过选择答案了:

如何在JavaScript中禁用ondblclick?

但这对我没有用。 像往常一样,我怀疑它与IE8有关(因为我以前的很多问题都与IE8问题有关)。

这是我的按钮的外观,keyBtnEvent是一个更改div类的函数:

 function keyBtnEvent(key, id, event) { //change class of object with id = 'id' console.log(event + 'event of keyBtnEvent called'); } 
 <div id="2Key" class="key" onmouseup="keyBtnEvent('2','2Key','up')" onmousedown="keyBtnEvent('2','2Key','down')"> <button>2</button> </div> 

那么,如何在不使用jQuery的情况下禁用IE8中的ondblclick?

这是正确的IE 8方法:

var key = document.getElementById('2Key')

// Feature detection for DOM Event Standard and IE 8 and less
if(window.addEventListener){
  // W3C DOM Event Standard
  key.addEventListener("dblclick", function(evt) { 
    evt.preventDefault();    // stop the event
    evt.stopPropagation();  // don't bubble the event
  });
} else if(window.attachEvent){
  // IE 8 or less
  key.attachEvent("ondblclick", function(evt) { 
    evt = evt || window.event;
    evt.returnValue = false;  // stop the event
    evt.cancelBubble = true;  // don't bubble the event
  });
}

另外,您不应该使用内联HTML事件属性( onmouseoveronmouseout等)。 这就是为什么。 相反,您应该在专用脚本中完成所有JavaScript工作,并使用.addEventListener() (或对于IE 8或更低版本,使用上述attachEvent()方法)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM