3

我希望以类似于quirksmode上建议的方式在模糊/焦点事件上实现事件委托。正如 TFA 中所解释的,模糊和焦点事件不会冒泡,因此您不能在冒泡阶段对它们使用事件委托,但您可以在捕获阶段抓住它们(伙计,javascript 事件很奇怪)。

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

我宁愿坚持使用 jQuery 来保持一致性;有什么办法吗?

4

1 回答 1

3

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

从文档:

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

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

于 2010-08-13T15:17:03.367 回答