javascript - 如何在 IE8 中禁用 ondblclick?

标签 javascript html css internet-explorer-8

所以,我已经尝试过选择的答案:

How to disable ondblclick in JavaScript?

但它不起作用,就我而言。按照惯例,我怀疑它与 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 等)。 <强> Here's why. 相反,您应该在专用脚本中完成所有 JavaScript 工作,并使用 .addEventListener()(或上述 attachEvent() IE 8 方法或更少)。

关于javascript - 如何在 IE8 中禁用 ondblclick?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44252853/

相关文章:

javascript - 是否可以通过触发器发送鼠标当前位置的 x 和 y 坐标。 ('mouseup')事件?

javascript - Bootstrap 标签面板

javascript - 如何使游戏音量上升

html - 不要根据旁边的元素拉伸(stretch)元素的高度

css - 三 Angular 形边框图像渐变图案

javascript - 数组在传递给函数后丢失

javascript - 根据 SVG 元素顶部位置定位工具提示

html - 如何更改按钮的轮廓颜色?

html - Ruby on Rails SSL_connect 错误

html - 将鼠标悬停在图像上时试图使 div 出现