我已经将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?

10-06 08:30