示例代码:

javascript js 完美解决 click 与 dblclick 冲突,并且不会导致click延迟_延迟执行javascript js 完美解决 click 与 dblclick 冲突,并且不会导致click延迟_click事件_02

marker.addEventListener("click", function(){  
if (!window.markerClicked) {
window.markerClicked = true;
} else {
window.markerClicked = false;
return;
}
setTimeout(function () {
window.markerClicked = false;
}, 500);

//todo: 下面写业务代码
});

View Code

上面提供一种思路,双击时只触发一次click,这种思路的优点是,click事件不会延迟执行。

如果需要dblclick时不触发click,请改写代码,但dblclick在click之后,所以这种需求click的延迟是无法避免的。