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

Possibly you are calling the second function before the image was actually added. Try using
jquery.live(); or jQuery.on() or jQuery.delegate() not click().

Note: jQuery.live() has been deprecated.

于 2013-04-28T06:36:54.347 回答