がよし追加されたときに、ここで、失敗した私のジャバスクリプトです:jQueryのイベントは、新しいdiv要素が
$().ready(function(){
$(".contact").hover(function(){
...
});
$(".contact").not('.contact[id="'+activeId+'"]').click(function(){
...
});
$(".contact_chooser_contact").click(function(){
...
$('.contacts').append('<div class="contact" id="'+id+'" title="'+phone+'">\
<div class="contact_img"><img src="src/default_face.png" width="64"/></div>\
<div class="contact_info" id="'+name+'">'+name+' <span class="sms_number">0</span></div>\
<div class="contact_last_sms">\
\
<!-- span class="last_sms_time"> echo $message[sizeof($message)-1]->time; </ -->\
</div>\
</div>');
...
});
});
お知らせは、「contact_chooser_contact」でハンドラをクリックするか、私は「.contacts」に別の「が.contact」を追加します、しかし、今私がその新しい ".contact"にぶつかると、それはそうであるような何もしません。どうすればこの問題を解決できますか?私は新しい ".contact"を追加した後で、$( ".contact").hover()を再初期化しないので、そのことを理解しています。
注: '.on()を使用すると、2番目のパラメータとしてセレクタを渡すと、'挙動のみの '.live()'タイプがあります。 '.on( 'click'、function(){})'と言うだけであれば '.click()'と同じになります。また、バージョン1.7未満の場合は、['.delegate()'](http://api.jquery.com/delegate/)を使用してください。バージョン1.4.2。 – nnnnnn
@nnnnnn、よろしくお願いします。 +1 – Gabe
ありがとう、それは知っているのは良いことです。私は通常、将来のセレクタは必要ないので、 'on()'だけを使用しますが、私はデリゲートを読み上げていませんでした。 – kwelch