7

この入力がフォーカスされていない後ではなく、入力フィールドで変更が行われた直後に何かが起こることを望みます。代替手段はありますか?

デモはこちら

更新ユーザーがキーボードのボタンを実際にクリックする必要がないタイプでも機能するはずです(HTML5入力タイプ=数値/日付など)

4

5 に答える 5

12

実際のイベントは、コントロールの種類によって異なります。いくつかの例をまとめました:

$(document).ready(function() {
    function callback() { alert($(this).val()); }
    $('input[type=number]').on('input',callback);
    $('input[type=date]').on('input',callback);
    $('input[type=text]').on('keyup',callback);
});

注: CTRL+V を使用してテキストを貼り付けると、keyupイベントが2 回発生することがあります。

注 2: 右クリック -> 貼り付けは認識されません。テキストが更新される前にpasteイベントが発生するため、イベントも役に立ちません。

于 2013-05-30T10:59:10.897 に答える
2

keyup イベントは、キーボードのキーが離されたときに発生します。

  $(document).ready(function() {
     $('#i1').on('keyup',function() {
              alert('Changed');
    });

.keyup()

于 2013-05-30T10:51:42.830 に答える
1

テキストフィールドの場合は、使用する必要があります.keyup

html5フィールドが必要なので、試してみてください.click

numberものについてわからない分野で機能するはずdateです。

于 2013-05-30T10:51:52.507 に答える
0

ここで on("keyup") を使用すると、デモが表示されます。

http://fiddle.jshell.net/b5UZN/1/

于 2013-05-30T10:52:14.267 に答える
-1

そんな感じ?

 $(document).ready(function() {
        $('#i1').on('keyup',function() {
                  alert('Change has been recognised!');
        });
        $('#i1').on('paste',function() {
                  alert('Change has been recognised!');
        });
});

デモ

于 2013-05-30T10:51:15.257 に答える