4

次のコードが機能しない理由がわかりません。 JSFIDDLE リンク

$(document).ready(function () {
    addInput();
});

var limit = 30;
function addInput() {
    var numberOfRows = $("#shipping tr").size();
    var id = numberOfRows;
    if (numberOfRows == limit) {
        alert("You have reached the limit of adding " + limit + " inputs");
    } else {
        $('#shipping').append('<tr id="rate' + id + '"></tr>');
        $('tr#rate' + id).append('<td></td>');
        $('tr#rate' + id).append('<td><input type="text" name="rate" /></td>');
    }
    $('input[name=rate]').on('keyup', 'input', function () {
        alert('YAY');
        return false;
    });
}

動的に追加する入力にキーアップ機能を割り当てようとしています。

期待される出力: YAY! ポップアップボックス内

助けてください!

4

2 に答える 2

7

keyup イベント ハンドラーを shipping テーブルにアタッチすると、イベントがからinput[name="rate"]shipping テーブルにバブル アップします。

$('#shipping').on('keyup', 'input[name="rate"]', function () {
    alert('YAY');
    return false;
});

デモ

于 2013-04-19T03:41:08.940 に答える
3

documentに追加されるため、委任を追加する必要がありdocumentます。

$(document).on('keyup', 'input[name="rate"]', function () {
    alert('YAY ');
});

Working Demo

于 2013-04-19T03:36:42.370 に答える