我试图找到这个 JavaScript 方法调用的 jQuery 等价物:
document.addEventListener('click', select_element, true);
我已经做到了:
$(document).click(select_element);
但这并没有达到相同的结果,作为 JavaScript 方法的最后一个参数 - 一个布尔值,指示事件处理程序是否应该在捕获或冒泡阶段执行(根据我对http://www.quirksmode.org的理解/js/events_advanced.html ) - 被忽略了。
如何使用 jQuery 指定该参数或以其他方式实现相同的功能?
并非所有浏览器都支持事件捕获(例如,低于 9 的 Internet Explorer 版本不支持)但都支持事件冒泡,这就是为什么它是用于将处理程序绑定到所有跨浏览器抽象中的事件的阶段,包括 jQuery。
最接近您在 jQuery 中寻找的方法是使用(在 jQuery 1.7+ 中bind()被取代)或特定于事件的 jQuery 方法(在这种情况下,无论如何都会在内部调用)。都使用引发事件的冒泡阶段。on()click()bind()
bind()
on()
click()