3

ユーザーが整数を入力する「質問の数」というタイトルのテキストボックスがあります。数字を入力するたびに、次のコードが実行されます。

$('#dmc_mc_questionCount').keyup(function() {
    var amount = $(this).val();

    add_to = "";
    for(i = 0; i < amount; i++) {
       var current = i + 1;
       add_to = add_to + current + "<input type='input' name='data[Section][mc_answers][]' value='" + i +"' id='mc_answers_" + i + "' maxlength='1'> ";
    }

    $('#mc_answer_key').html(add_to); 
});

次のコードが機能します。

<span id="test">Test</span>

$('#test').click(function() {
    var x = $('#mc_answers_0').val();
    alert(x);
});

ただし、次の場合はそうではありません。

$('#mc_answers_0').click(function() {
    alert('d');
});

#mc_answers_0 にアクセスできないのはなぜですか?!

4

1 に答える 1

2

イベントの委任:

$(document).on('click', '#mc_answers_0', function() {
    alert('d');
});

#mc_answers_0DOM 対応では存在しないため、ハンドラーは決してかかりません。

于 2013-06-15T00:41:40.640 に答える