我有这段代码
$("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
)时,不会显示任何内容。有什么想法吗?
答案 0 :(得分:4)
$('img')
不会考虑调用后创建的元素。您必须使用事件委派来解释它们:
$('#MenuContent').on('click', 'img', function () {
alert('yes');
});
答案 1 :(得分:1)
在实际添加图像之前,您可能正在调用第二个函数。尝试使用
jquery.live();
或jQuery.on()
或jQuery.delegate()
不
click()
。
注意: jQuery.live()
已被弃用。