0

画像にカーソルを合わせるたびに、一部のdiv(「タイトルバー」)にそのタイトル(altタグから)が表示されます。以下のスクリプトは、jqueryajaxを介してロードされた画像を除くすべての画像に対して正確にそれを実行します。

<script>
jQuery(document).ready(function () {    
$('img').hover (function(event){

    var $t1 = $('#tab1 #titlebars');
    var $href = $(event.target).parent('a').attr('href');
    var $tx = $('<a href="'+$href+'" style="float:right">'+this.alt+'</a>' ); 

    $('#tab1 #titlebars a').remove();
    jQuery($t1).append($tx);

  });
});
</script>   

これは私がjqueryajaxを介していくつかの画像をロードする方法です:

$('#sandbox').load('./ajax/profile.html img');

#sandboxに読み込まれた画像に同じ効果が発生するように助けてください

4

2 に答える 2

2

イベントを動的に追加された要素にバインドするには、 jQueryon使用する必要があります。

jQuery(document).ready(function () {    
$(document).on('hover', 'img', function(event){

    var $t1 = $('#tab1 #titlebars');
    var $href = $(event.target).parent('a').attr('href');
    var $tx = $('<a href="'+$href+'" style="float:right">'+this.alt+'</a>' ); 

    $('#tab1 #titlebars a').remove();
    jQuery($t1).append($tx);

  });
});
于 2012-11-19T06:48:17.697 に答える
0

jQuery live()構文を使用して、新しく作成された要素のイベントをキャッチできます。

$('img').live('hover', function(event){

    var $t1 = $('#tab1 #titlebars');
    var $href = $(event.target).parent('a').attr('href');
    var $tx = $('<a href="'+$href+'" style="float:right">'+this.alt+'</a>' ); 

    $('#tab1 #titlebars a').remove();
    jQuery($t1).append($tx);

});
于 2012-11-19T06:48:55.080 に答える