[英]How do I disable ondblclick in IE8?
因此,我已经尝试过选择答案了:
但这对我没有用。 像往常一样,我怀疑它与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事件属性( onmouseover
, onmouseout
等)。 这就是为什么。 相反,您应该在专用脚本中完成所有JavaScript工作,并使用.addEventListener()
(或对于IE 8或更低版本,使用上述attachEvent()
方法)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.