簡體   English   中英

jQuery - 替換圖像,保留事件處理程序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM