在事件捕获阶段绑定jQuery处理程序(不是事件冒泡)

时间:2010-08-13 15:12:12

标签: jquery event-delegation event-capturing

我希望以与quirksmode上建议的方式类似的方式在模糊/焦点事件上实现事件委派。如在TFA中所解释的,模糊和焦点事件不会冒泡,因此您无法在冒泡阶段使用事件委派,但是可以在捕获阶段(man,javascript事件)中抓取它们很奇怪。

无论如何,据我所知,jQuery事件都适用于冒泡阶段,或者至少是我一直使用它们的地方。我在jQuery文档中看不到关于这种或那种方式的任何信息,并且默认情况下使用类似$('#foo')的东西.mode(blurHandler)似乎无法捕获它。

我宁愿坚持使用jQuery来保持一致性;有没有办法做到这一点?

1 个答案:

答案 0 :(得分:3)

如果您说希望容器在后代<input>获得焦点或模糊时触发处理程序,请尝试使用.focusin().focusout()

来自文档:

  

当focusin事件或其中的任何元素获得焦点时,focusin事件将被发送到该元素。这与焦点事件的不同之处在于它支持在父元素上检测焦点事件。

     

当焦点事件或其中的任何元素失去焦点时,会将焦点事件发送到元素。这与blur事件不同,它支持从父元素检测焦点丢失(换句话说,它支持事件冒泡)。