我目前有一个jQuery函数,可以在单击时替换图像。例如:
<script type="text/javascript">
$('#test').click(function(event) {
event.preventDefault();
img = $('<img id="myImage" class="photo" src="newImage.jpg>');
$("#myImage").remove().append(img);
});
$('#myImage').click(function(event) {
event.preventDefault();
alert("You clicked the image");
</script>
我的HTML如下:
<a id="test">Click Here to Change Picture</a>
<div id="profilepic" class="fb6a">
<img id="myImage" class="photo" src="oldImage.jpg>
</div>
所以,我注意到,我“改变”图片并用新的“图像”替换它,我丢失了与新图像相关的事件处理程序,即使它具有相同的“ID”。
有什么方法可以避免这种情况吗?
谢谢!
答案 0 :(得分:1)
不能完全记住HTML DOM中事件冒泡的方式,但是你不能将点击处理程序附加到周围的div吗?那个当然不会改变,它可以避免听起来像是某种泄漏。
答案 1 :(得分:0)
尝试live event。