入力フィールドの実際の変更ごとに1回イベントハンドラーをトリガーしたいと思います。たとえば、クレジットカード番号の入力を(キーを押すごとに)検証するには(変更は各変更で行われる必要があるため、デバウンス/スロットリングは答えではありません)。
input
IE9はバックスペースからこのイベントをトリガーしたり、切り取り/削除したりしないため、単独で使用することはできません。
keyup
マウスからの変更(貼り付けなど)を処理できないため、単独では使用できません。
change
これはでのみ発生するため、使用できませんblur
。
私はできます$('input').bind('input keyup', handler)
が、これはほとんどの場合2つの別々のイベントを発生させます。ハンドラーは高価であり、2回実行することは許容できないと想定します。
現在の値が最後にチェックされた値と異なる場合にのみ実行されるようにハンドラーをラップできますが、より良い方法はありますか?