D3:如何设置“点击”事件和“dbclick”事件在同一时间? [英] D3: How do I set "click" event and "dbclick" event at the same time?
本文介绍了D3:如何设置“点击”事件和“dbclick”事件在同一时间?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我已经将点击事件切换到一个节点,我也想将dbclick事件切换到它。但是,只有当我点击它时才会触发点击事件。
I've toggled click event to a node and I want to toggle a dbclick event to it as well. However it only triggers the click event when I dbclick on it.
那么如何同时设置这两个事件?
So How do I set both events at the same time?
推荐答案
您必须执行自己的双击检测
You have to do your "own" doubleclick detection
这样可以工作:
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
有关您应该使用什么延迟的定时器的更多信息,看这里:如何在onclick和ondblclick上使用元素?
For more information about what delay you should use for your timer, have a look here : How to use both onclick and ondblclick on an element?
这篇关于D3:如何设置“点击”事件和“dbclick”事件在同一时间?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文