2009-07-29 3 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

1

イベントのバブリングがHTML DOMにどのようになっているのか覚えていませんが、周囲のdivにクリックハンドラを追加できませんか?それは確かに変わらないし、私に何か音が漏れるのを避けるかもしれない。

関連する問題