テキスト ボックスの内容が変更されたかどうかを検出したいです。keyup メソッドを使用できますが、矢印キーなど、文字を生成しないキーストロークも検出します。keyup イベントを使用してこれを行う 2 つの方法を思いつきました。
- 押されたキーのASCIIコードが文字\バックスペース\削除であるかどうかを明示的に確認します
- クロージャを使用して、キー入力前のテキスト ボックス内のテキストを記憶し、これが変更されたかどうかを確認します。
どちらもちょっと面倒そうです。
ベストアンサー1
「変更」イベントではなく「入力」イベントの監視を開始します。
jQuery('#some_text_box').on('input', function() {
// do your stuff
});
...これは素晴らしくてすっきりしていますが、さらに次のように拡張することもできます。
jQuery('#some_text_box').on('input propertychange paste', function() {
// do your stuff
});