0

Jqueryのfocusout関数に要素を渡すことは可能ですか? すべてのテキストボックスの focusout イベントを 1 つのステートメントに結び付けたいと思います。したがって、私の解決策は、それらをすべて同じクラスにしてから、次のようなことをすることです

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

しかし、id で参照せずに focusout 内の要素の値を取得したいので、このようなことは可能ですか?

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

3 に答える 3

9

focusoutoverの魔法の性質に気付いたと仮定するとblurこれはあなたが望むものです:

$("#the-common-parent-of-all-inputs").focusout( function(e) {
alert( e.target.value );
});

focusout入力要素の共通の親にバインドする必要があるのは 1 つだけです。これが を使用する唯一の理由focusoutです。

気付いていないかもしれませんが、$(".class-name").focusoutそうすると、各要素に個別にバインドされるだけで、 の目的全体が無効になりますfocusout

于 2011-11-30T21:36:10.133 に答える
5

focusout (またはその他の jQuery イベント) のような場合は、次のことができます。

$(".class-name").focusout( function() {
   //`this` refers to the object that was focusouted on
});

thisイベントが発生したオブジェクトを常に参照します

于 2011-11-30T21:18:14.470 に答える
2

試してみましたか?それは間違いなく機能するはずですが、「this」パラメータなしで(!)。「this」は現在の要素を自動的に参照するため、パラメーターとして関数に渡す必要はありません。省略してください。

于 2011-11-30T21:18:01.910 に答える