1

我一直在尝试像

$(':input').blur(doStuff());

$('*').bind('blur', doStuff());

但似乎没有正确触发。最好的方法是什么?

4

1 回答 1

6

首先, blur 不会冒泡,但 jQuery sorta 修复了它并使其冒泡,但您仍然可以尝试focusout代替,因为这是一个实际冒泡的事件。

其次,您正在调用回调函数,而不是引用它,它应该是

$('*').on('focusout', doStuff);

第三,这是一个非常糟糕的主意,监听一个在 DOM 中的所有元素上冒泡的事件,你可能至少应该只在最顶层监听

$(document).on('focusout', doStuff);

甚至这也不是一个好主意,最好直接针对元素。

于 2014-06-06T18:21:53.383 回答