Jquery焦点功能

时间:2011-11-30 21:15:09

标签: jquery jquery-focusout

可以将元素传递给Jquery中的focusout函数吗?我想将所有textboxes focusout事件绑定在一个语句中。所以我的解决方案是让它们成为同一个类,然后做类似的事情

$(".class-name").focusout( function() {
//do whatever
});

但是我想在焦点内部获取元素的值,而不必通过它的id来引用它,所以这样的事情可能吗?

$(".class-name").focusout( function(this) {
alert( $(this).val() );
});

3 个答案:

答案 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)

你尝试过吗?它应该肯定有效,但没有(!)“this”参数。 “this”将自动引用当前元素,无需将其作为参数传递给函数。省略它。