可以将元素传递给Jquery中的focusout函数吗?我想将所有textboxes focusout事件绑定在一个语句中。所以我的解决方案是让它们成为同一个类,然后做类似的事情
$(".class-name").focusout( function() {
//do whatever
});
但是我想在焦点内部获取元素的值,而不必通过它的id来引用它,所以这样的事情可能吗?
$(".class-name").focusout( function(this) {
alert( $(this).val() );
});
答案 0 :(得分:9)
假设你意识到这就是你想要的:focusout
超过blur
的神奇本质,
$("#the-common-parent-of-all-inputs").focusout( function(e) {
alert( e.target.value );
});
您只需要将一个focusout
绑定到输入元素的公共父级。这是使用focusout
的唯一原因。
你可能没有意识到这一点,但当你$(".class-name").focusout
时,它会单独绑定到每个元素,这会使focusout
的整个目的失效。
答案 1 :(得分:4)
对于像focusout(或任何其他jQuery事件)这样的东西,你可以这样做:
$(".class-name").focusout( function() {
//`this` refers to the object that was focusouted on
});
this
总是指事件发生在
答案 2 :(得分:2)