テキストボックスの内容が変更されたことを検出する方法 質問する

テキストボックスの内容が変更されたことを検出する方法 質問する

テキスト ボックスの内容が変更されたかどうかを検出したいです。keyup メソッドを使用できますが、矢印キーなど、文字を生成しないキーストロークも検出します。keyup イベントを使用してこれを行う 2 つの方法を思いつきました。

  1. 押されたキーのASCIIコードが文字\バックスペース\削除であるかどうかを明示的に確認します
  2. クロージャを使用して、キー入力前のテキスト ボックス内のテキストを記憶し、これが変更されたかどうかを確認します。

どちらもちょっと面倒そうです。

ベストアンサー1

「変更」イベントではなく「入力」イベントの監視を開始します。

jQuery('#some_text_box').on('input', function() {
    // do your stuff
});

...これは素晴らしくてすっきりしていますが、さらに次のように拡張することもできます。

jQuery('#some_text_box').on('input propertychange paste', function() {
    // do your stuff
});

おすすめ記事