D3:如何同时设置"click"事件和"dbclick"事件?

Sol*_*ong 10 javascript double-click event-handling d3.js

我已将click事件切换到节点,我也想将dbclick事件切换到它.但是,当我点击它时,它只触发click事件.

那么如何同时设置两个事件?

Jer*_*y D 15

你必须进行"自己的"双击检测

这样的东西可以工作:

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");
}
Run Code Online (Sandbox Code Playgroud)

这是一个有效的JSFiddle

有关应该为计时器使用的延迟的更多信息,请查看:如何在元素上同时使用onclick和ondblclick?