有谁知道 jQuery 的.on()
方法是如何在原生 JS 中实现的?该addEventListener
方法不采用子/选择器元素作为过滤方式,而且我认为我没有适当的冒泡/捕获知识来完全理解那里发生的事情。我确实在 event.js 中查阅了源代码,它似乎最终addEventListener
会像往常一样被使用,但我不确定我是否完全了解源代码。
如果本机方法不提供利用冒泡和捕获的机制,那么 jQuery.on()
函数真的有任何好处吗,或者它只是让它看起来那样?我的印象是
.on('parent', '.child', fn(){});
比单独将事件附加到所有孩子更有效,但从我对源代码的解释来看,很难判断 jQuery 是否以某种方式管理它以提高性能,或者它是否只是为了可读性。
是否有一种标准方法可以在父级上实现事件,利用其子元素的冒泡/捕获阶段,而不是必须将事件附加到每个单独的子级?