私はこのトピックに関するSOに関するさまざまな投稿を見てきました。テキストボックスの文字ダウンカウンター(例:「98CharactersLeft」)を作成しています。これを発生させることができる唯一のイベントはですがkeydown()
、テキストがテキストボックスに貼り付けられると処理されません。関数を作成して、updateCharCount()
すべてのイベントに設定してみました(一度にすべて、個別に:キーアップ、キーダウン、キープレス、変更)。
bind()
また、とを使用してハンドラーを設定してみましたlive()
。キーダウンとキーアップのハンドラーを同時に設定しようとすると、どちらも起動しません。何を読んでも、それが解決策ですが、変更はまったく起動しません。これはどうやってできるの?
また、keydown()
イベントのみを処理すると、奇妙な動作が発生します。(ところで、テキストボックスのmaxLength属性を100に設定しています)最大文字数に1回または2回バックスペースを入力してから、もう一度最大数に入力すると、「残り1文字」と表示されます。が最大になり、そこから1回バックスペースすると、「0 Characters(s)Left」と表示されます。これが私のコードです:
function updateCharCount(){
var clientmsg = $("#usermsg").val();
var count = $("#usermsg").attr("maxLength") - clientmsg.length;
$("#charsleft").html(count);
}
$("#usermsg").keydown(updateCharCount());
誰かが奇妙な振る舞いを説明できればいいのですが、私が本当に知りたいのは、.change()が非常に広く使用されている場合、それが私にとっても、.bind('change'、.. .. )または.live('change'、...)