3

キーアップを使用して contenteditable div が変更されるたびに、イベントを発生させようとしています。残念ながら、矢印キーでキャレットを移動するなどのこともキャッチしています。ただし、実際の変更を見つけたいだけです。

私はこの質問を読みましたが、これは似ているようですが、そこでの解決策は改行などには機能しません。アイデア?

4

1 に答える 1

2

1 つの方法は、ハンドラーの外で長さをキャッシュしてから、テキストエリアの現在の長さとキャッシュされた長さを比較することです。それらが異なる場合、押されたキーがテキストエリアにコンテンツを追加したと見なすことができます。お役に立てれば。

var textarea = $('textarea').get(0),
    length = $(textarea).val().length;

$(textarea).keyup(function() {
   if($(this).val().length != length) {

     //do something


     //cache new length
     length = $(this).val().length();
   }
});
于 2011-05-26T17:55:07.810 に答える