9

私はinputフィールドを持っています:

<input type="text" name="notifyEmail" id="parametersEmail" value="" size=40 />

タブを押すか、フィールドを離れたときに機能するjqueryコードのチャンクがあります。これにより、検証ルーチンが呼び出されます。

$("#parametersEmail").blur(function(event) {
    validateParameterEmail();
});

私がやりたいvalidateParameterEmail()のは、入力フィールドの値または内容が変更されるたびに関数を実行することです。

そこで、.change()ハンドラーも試しました。

$("#parametersEmail").change(function(event) {
    validateParameterEmail();
});

しかし、の内容を変更するとparametersEmail、このハンドラーは検証関数を呼び出しません。

代わりに、使用する必要のある別のハンドラーはありますか?または、入力フィールドに複数のイベントハンドラーをアタッチできませんか?

4

4 に答える 4

8

試す$("#parametersEmail").keydown(function(event) {})

于 2011-02-01T22:08:05.793 に答える
6

これを試して:

$("#parametersEmail").bind('blur', function(event) {} );

$("#parametersEmail").bind('keyup', function(event) {} );
于 2011-02-01T22:11:47.113 に答える
4

(ほぼ2017年の現実)

最良の方法は、入力値の変更に関するすべての必要なイベントのコールバックを一度設定することです。

がある:

  • keyup:ユーザーが入力に何かを入力しました
  • 変更:入力に保存された変更に関する一般的な既知の方法
  • クリック:一部の入力はマウスでも変更されます
  • 貼り付け:うん!Ctrl + V、Crtl + Ins、RightMouseButton+Pasteは入力値も変更できます
  • propertychange:JSが何らかの方法で入力を変更すると、このイベントが発生します
  • 入力:すべての最新のブラウザをサポートする新しい標準のイベント、それも使用してください

したがって、それらすべてを一度に設定できます。

$("#parametersEmail").bind("propertychange change click keyup input paste", function(event) {
    validateParameterEmail();
});

これが誰かに役立つことを願っています。;)

于 2016-11-11T21:40:59.163 に答える
0

変更とは、クリックして入力から離れる/移動することを指します。あなたが探しているかもしれませonKeyUp()ん。

于 2011-02-01T22:09:01.890 に答える