1

我想检测页面上发生的任何点击(关闭自定义上下文菜单)。我正在使用 jQuery 并尝试做

$(document).click(function(){ ...close my context menu ... });

但是,我在页面上的某些元素的点击处理程序中使用了一些调用 evt.stopPropagation() 的代码,而这些点击并没有构成我的顶级处理程序。有什么方法可以捕捉这些点击吗?可以是 jQuery 也可以不是 jQuery,只要它可以跨浏览器工作。

4

2 回答 2

0

如果遗留代码在冒泡阶段处理点击,您可以在捕获阶段处理点击。尝试:

element1.addEventListener('click', doSomethingFunction, true);

这一切都在这里很好地解释了:http ://www.quirksmode.org/js/events_order.html

于 2012-06-29T21:12:01.723 回答
0

您是否尝试过在您的页面中添加一个不可见的 div,然后在您的菜单启动时添加“显示”它(不是真的因为它不可见)。然后,您可以将事件侦听器附加到关闭弹出窗口并隐藏 div 的不可见 div。

于 2012-06-30T00:02:55.677 回答