2009-07-29 56 views
1

我目前有一個jQuery函數,在單擊時替換圖像。例如: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

嘗試live event

+0

這對我來說非常合適,謝謝! – Dodinas 2009-07-29 21:27:32

1

不能完全記住事件冒泡如何在HTML DOM中進行,但是不能將點擊處理程序附加到周圍的div上嗎?那一個肯定不會改變,它可能會避免我聽起來像是某種泄漏。

相關問題