5

のすべての変更に反応するjQueryイベントハンドラーがあります

<input id="myId" type="text" /> 

エレメント:

$("#myId").bind('input', function (e) {    
        // Do Stuff
    });

これは、入力が空の場合を除いて、完全に機能し#myIdます(たとえば、入力ボックスに1文字しかなく、Backspaceキーを使用して削除します)。入力が空になった場合、イベントは発生しません。その後、キャラクターを入力すると、イベントが発生します。

これは既知の問題ですか?私は何か間違ったことをしていますか?入力が空になったときにイベントを取得する方法はありますか?

アップデート

少なくともIE9では、Backspaceが入力されたときに、イベントはまったく発生しません。

4

1 に答える 1

9

私の知る限り、「入力」は使用したいイベントではありません。「入力」は「変更」に類似しているため、文字列が 0 文字に近づくと悪い結果が生じる傾向があるため、keyup代わりに使用します

$("input#myId").bind('keyup', function (e) {    
    // Do Stuff
});
于 2012-04-04T03:40:38.940 に答える