希望实现一种专门跟踪点击的方法 - 如果有更好的方法来做到这一点,但我真的很想知道如何简单地延迟正常发生的所有相同事件传播,直到某些功能完成 - 想法?
$(this).on('click touch', function(event){
event.preventDefault();
l("clicked ");
setTimeout(function(){
l('redispatching event');
event.target.parentNode.dispatchEvent(event); // fails here?
}, 500);
return false;
});
编辑是为了更具体的示例。
最佳答案
像平常一样使用 event.preventDefault()
,然后当您想要冒泡时,将相同的事件直接分派(dispatch)到元素的父元素。
$('a, button').on('click touch', function(event){
event.preventDefault();
event.cancelBubble = true;
doSomething(); // Probably asynchronous
event.cancelBubble = false;
event.target.parentNode.dispatchEvent(event);
return false;
})
关于javascript - 在单击或触摸时暂停事件,然后在 jQuery 中完成一些工作后 "restart"状态事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58330808/