我希望以与quirksmode上建议的方式类似的方式在模糊/焦点事件上实现事件委派。如在TFA中所解释的,模糊和焦点事件不会冒泡,因此您无法在冒泡阶段使用事件委派,但是可以在捕获阶段(man,javascript事件)中抓取它们很奇怪。
无论如何,据我所知,jQuery事件都适用于冒泡阶段,或者至少是我一直使用它们的地方。我在jQuery文档中看不到关于这种或那种方式的任何信息,并且默认情况下使用类似$('#foo')的东西.mode(blurHandler)似乎无法捕获它。
我宁愿坚持使用jQuery来保持一致性;有没有办法做到这一点?
答案 0 :(得分:3)
如果您说希望容器在后代<input>
获得焦点或模糊时触发处理程序,请尝试使用.focusin()
和.focusout()
。
来自文档:
当focusin事件或其中的任何元素获得焦点时,focusin事件将被发送到该元素。这与焦点事件的不同之处在于它支持在父元素上检测焦点事件。
当焦点事件或其中的任何元素失去焦点时,会将焦点事件发送到元素。这与blur事件不同,它支持从父元素检测焦点丢失(换句话说,它支持事件冒泡)。