我一直在尝试像
$(':input').blur(doStuff());
和
$('*').bind('blur', doStuff());
但似乎没有正确触发。最好的方法是什么?
我一直在尝试像
$(':input').blur(doStuff());
和
$('*').bind('blur', doStuff());
但似乎没有正确触发。最好的方法是什么?
首先, blur 不会冒泡,但 jQuery sorta 修复了它并使其冒泡,但您仍然可以尝试focusout
代替,因为这是一个实际冒泡的事件。
其次,您正在调用回调函数,而不是引用它,它应该是
$('*').on('focusout', doStuff);
第三,这是一个非常糟糕的主意,监听一个在 DOM 中的所有元素上冒泡的事件,你可能至少应该只在最顶层监听
$(document).on('focusout', doStuff);
甚至这也不是一个好主意,最好直接针对元素。