在我的页面上,我有很多不同的元素来响应点击事件。有些时候,我需要基于某个全局标志来阻止所有点击。有没有办法让我在一个集中的位置进行这项检查?
现在,在每个事件中,我都会检查标志,例如:
var canClick = false; // Global flag
// Sample click event:
$("#someDiv").click(function(){
if(!canClick) return;
// Some stuff ...
});
我想要做的是有一个元素,在任何其他元素之前捕获所有的点击事件。
我尝试在文档上这样做,但这些事件只在其他单击事件之后发生。
示例:
$("#someDiv").click(function(){ console.log("someDiv click"); });
$(document).click(function(){ console.log("Document click"); });
// When I click on the someDiv element it prints:
> someDiv click
> Document click
我还尝试在所有东西的顶部放置一个全屏div,并使用它来捕获事件,但问题是没有一个点击通过这个全屏div传播。此外,我不想依赖创建额外的元素来捕获点击,因为这感觉有点老套。
我可以重写jQuery点击函数,这样我就可以把我的小支票放进去了吗?
有什么明显的我遗漏了什么吗?
谢谢你的帮助。
https://stackoverflow.com/questions/6157486
复制相似问题