![](/img/trans.png)
[英]jQuery - append/replace event listeners (when event handlers are not known)
[英]jQuery - Replace Image, Retain Event Handlers
我目前有一個 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”。
不太記得事件冒泡在 HTML DOM 中是如何進行的,但是您不能將點擊處理程序附加到周圍的 div 上嗎? 那當然不會改變,它可能會避免在我看來像是某種泄漏。
試試現場活動。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.