2012-11-19 34 views
0

每次將鼠標懸停在圖像上時,都應該在某些div('titlebars')上看到它的標題(來自alt標籤)。下面的腳本完全適用於除了通過jquery ajax加載的所有圖像。在ajax加載的圖像上調用函數

<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> 

這是我如何通過加載某些圖像jQuery的AJAX:

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

請幫助我有同樣的效果發生在

回答

2

您需要使用裝上#sandbox圖像jQuery on將事件綁定到動態添加的元素。

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); 

    }); 
}); 
+0

感謝大,工作就像一個魅力! – TechyTimo

+0

不客氣。 – Adil

+0

在這裏發佈相關問題,請幫助http://stackoverflow.com/questions/13449658/pick-a-segment-from-an-array-of-ajax-loaded-images – TechyTimo

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); 

}); 
+2

'.live'已棄用jQuery 1.7。 – Barmar

+0

對不起,上次我使用jQuery 1.5是:) –