0

私はこのコードを持っています

$("div").click(function () {
    var CurrId = $(this).attr('id');
    if (CurrId == "First") {
        $("#MenuContent").empty();
        $("#MenuContent").hide();
        $('<img src="images/End_05.png" width="30" height="30"  /> <a id="First"  class style="text-decoration:none;color:black">any </a>').appendTo("#MenuContent");
        $("#MenuContent").show("slow");
    }
});

つまり、画像をクリックするdivと (その名前は としますmm)、リンクが表示されます。今、私はこれを書きました:

$("img").click(function () {
    alert('yes');
});

画像をクリックすると(そのmm)何も表示されません。何か案は?

4

2 に答える 2

4

$('img')呼び出された後に作成された要素は考慮されません。それらを説明するには、イベント委任を使用する必要があります。

$('#MenuContent').on('click', 'img', function () {
    alert('yes');
});
于 2013-04-28T06:29:46.437 に答える
1

画像が実際に追加される前に、2 番目の関数を呼び出している可能性があります。
jquery.live();or jQuery.on()or jQuery.delegate() not を使ってみてくださいclick()

注: jQuery.live()廃止されました。

于 2013-04-28T06:36:54.347 に答える