我已经将click事件切换到一个节点,我也想将dblclick事件切换到它。但是,只有在我dblclick时,它才会触发click事件。
那么,如何同时设置两个事件?
最佳答案
您必须进行“自己的”双击检测
这样的事情可能会起作用:
var clickedOnce = false;
var timer;
$("#test").bind("click", function(){
if (clickedOnce) {
run_on_double_click();
} else {
timer = setTimeout(function() {
run_on_simple_click(parameter);
}, 150);
clickedOnce = true;
}
});
function run_on_simple_click(parameter) {
alert(parameter);
alert("simpleclick");
clickedOnce = false;
}
function run_on_double_click() {
clickedOnce = false;
clearTimeout(timer);
alert("doubleclick");
}
这是一个工作的JSFiddle
有关计时器应使用的延迟的更多信息,请在此处查看:How to use both onclick and ondblclick on an element?