我的页面上有一个元素,我需要附加onclick和ondblclick事件处理程序.单击发生时,它应该执行与双击不同的操作.当我第一次开始尝试这项工作时,我的头开始旋转.显然,双击时onclick总会触发.所以我尝试使用像这样的基于超时的结构......
window.onload = function() {
var timer;
var el = document.getElementById('testButton');
el.onclick = function() {
timer = setTimeout(function() { alert('Single'); }, 150);
}
el.ondblclick = function() {
clearTimeout(timer);
alert('Double');
}
}
Run Code Online (Sandbox Code Playgroud)
但是我得到了不一致的结果(使用IE8).它可以正常工作,但有时我会两次得到"单一"警报.
有没有人这样做过?有更有效的方法吗?
是否有一个没有jquery的简单解决方案,在HTML标签内部捕获CTRL + Mouseclick?
它可能看起来像这样:
<a href="#" onclick="if(ctrl_is_pressed()) alert('CTRL+Mouseclick');">X</a>
Run Code Online (Sandbox Code Playgroud)