-1

私はjqueryを使用しています:

$("a").click(function(event) {
    alert("true")
    var $d_id = $(this).attr("name").substring(2)
    var $d_link = 'd_' + $d_id

    $("#"+$d_link).html('<a href="javascript: void(0)" id="d_event_'+
        $d_id + '" name="d_' + $d_link + '" > <img src="/images/r.png" alt="r"></a>');
});

およびhtml:

<div id=d_1></div>

ショーメッセージを初めてクリックして(true)画像を挿入したとき、もう一度クリックするとメッセージが表示されません。最初のクリック後にメッセージが表示されないのはなぜですか?

4

2 に答える 2

0

セレクターはそのままでは、DOM の準備ができた後に作成された要素にバインドしません。を使用して静的な親にバインドする必要があります.on()

最も単純な例を使用します。

$("body").on('click', 'a', function(event) {
    alert("true");
    var $d_id = $(this).attr("name").substring(2);
    var $d_link = 'd_' + $d_id;

    $("#"+$d_link).html('<a href="javascript: void(0)" id="d_event_'+
        $d_id + '" name="' + $d_link + '" > <img src="/images/r.png" alt="r"></a>');
});
于 2013-03-07T06:42:44.053 に答える
0

onデリゲート イベントを使用する...

$(document).on("click","a",function(event) {
     alert("true")
     var $d_id = $(this).attr("name").substring(2);
     var $d_link = 'd_' + $d_id;

     $("#"+$d_link).html('<a href="javascript: void(0)" id="d_event_'+
    $d_id + '" name="' + $d_link + '" > <img src="/images/r.png" alt="r"></a>');
});

直接および委任されたイベントの詳細については、こちらを参照してください。on

于 2013-03-07T06:46:20.340 に答える