jQuery 等效于 JavaScript 的 addEventListener 方法 [英] jQuery equivalent of JavaScript's addEventListener method

查看:32
本文介绍了jQuery 等效于 JavaScript 的 addEventListener 方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试找到与此 JavaScript 方法调用等效的 jQuery:

I'm trying to find the jQuery equivalent of this JavaScript method call:

document.addEventListener('click', select_element, true);

我已经做到了:

$(document).click(select_element);

但这并没有达到与 JavaScript 方法的最后一个参数相同的结果 - 一个布尔值,指示事件处理程序应该在捕获阶段还是冒泡阶段执行(根据我对 http://www.quirksmode.org/js/events_advanced.html) - 被排除在外.

but that doesn't achieve the same result, as the last parameter of the JavaScript method - a boolean that indicates whether the event handler should be executed in the capturing or bubbling phase (per my understanding from http://www.quirksmode.org/js/events_advanced.html) - is left out.

如何使用 jQuery 指定该参数或以其他方式实现相同的功能?

How do I specify that parameter, or otherwise achieve the same functionality, using jQuery?

推荐答案

并非所有浏览器都支持事件捕获(例如,Internet Explorer 低于 9 的版本不支持)但都支持事件冒泡,这就是为什么它是用于将处理程序绑定到所有跨浏览器抽象中的事件的阶段,包括 jQuery.

Not all browsers support event capturing (for example, Internet Explorer versions less than 9 don't) but all do support event bubbling, which is why it is the phase used to bind handlers to events in all cross-browser abstractions, jQuery's included.

最接近您在 jQuery 中寻找的是使用 bind()(在 jQuery 1.7+ 中被 on() 取代)或特定于事件的 jQuery 方法(在这种情况下,click(),无论如何都会在内部调用 bind() ).都使用引发事件的冒泡阶段.

The nearest to what you are looking for in jQuery is using bind() (superseded by on() in jQuery 1.7+) or the event-specific jQuery methods (in this case, click(), which calls bind() internally anyway). All use the bubbling phase of a raised event.

这篇关于jQuery 等效于 JavaScript 的 addEventListener 方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆