0

ユーザーがEnterキーを押すたびに、ページに新しいテキストフィールドを挿入しようとしています。

私のコード

   $(":text").on("keypress", function(e) {
if (e.keyCode == '13') {
    e.preventDefault()
    $(this).after("<p><input type='text' class='textfield' maxlength='10' value=''/>      <span></span> </p>")
}

    });

元のテキスト フィールドで Enter キーを押すと、新しいテキスト フィールドが表示されますが、新しいテキスト フィールドは何を押しても反応しません。on-function は live に似ていると思いますが、これはこの種の問題の修正になるはずです。どうしたの?

4

2 に答える 2

0

新しく追加された要素に対してイベント委任を行う必要があります。

on() 関数を使用してイベント委任を使用する

元:

$("#parent").on('keypress', 'textboxselector', function(event) {

----do the things here 
});
于 2013-07-04T10:01:54.470 に答える
-1

以下のコードを参照してください

        $(".textfield").live("keypress", function (e) {
        if (e.keyCode == '13') {
            e.preventDefault();
            $(this).after("<p><input type='text' class='textfield' maxlength='10' value=''/>      <span></span> </p>")
        }

    });
于 2013-07-04T10:08:13.603 に答える