2013-07-11 217 views
-1

我對JQuery動態生成內容有點問題。關於動態生成內容的jquery

我有這個頁面:

http://velapazza.it/store/index.php/camicia-cotone-manica-lunga/camicia-cotone-modello-101.html

我用JQueryZoom(傑克·摩爾),並能正常工作。問題是當我點擊縮略圖時......用JQuery替換主照片點擊(與html()方法),並且縮放不起作用。

我使用的是JQuery 1.9.1版本,如你所知不支持live()方法;而不是我使用的on()方法,但似乎沒有工作....

任何人都可以幫助我嗎?

預先感謝

中號:)

+1

替換元素後再次調用插件。 –

+0

你是通過ajax添加圖片嗎? – Edorka

回答

1

你變焦結合到IMG一旦其取代?我建議,當你點擊縮略圖,你從原來的刪除縮放要素,然後將它綁定,一旦圖像已經被替換:

$('#example').trigger('zoom.destroy'); // remove zoom 
$('#example').zoom(); // add zoom 
+0

Yeees !!! ......我做了這個,現在它工作!! ....謝謝!我可以幫助別人: 我發佈了代碼,也許可以幫助某人: ('click',function(){ var(這個).children('img'); var id = img.attr('id'); VAR img_path = img.prop( 'SRC'); jQuery的( '產品圖像變焦 ')的html(' '); jQuery的('。產品圖像變焦')觸發( 'zoom.destroy'); //刪除zoom jQuery('。product-image-zoom')。zoom(); //添加zoom }); – Mauro

+0

@Mauro,我很高興它的作品! –

0

如果添加元素動態我建議使用上()在文檔:

$(document).on("click", ".container .image" . function(){ 
    .... 
}); 

這將活性的元件的動作的匹配如果稍後添加了選擇器事件。

要應用在加載插件,你應該在實例程序添加到您的AJAX負載:

$.ajax({ type: "GET", 
    url: "your provider", 
    async: true, 
    success : function(text) 
    { 
     .... 
     jQuery(text).appendTo(container); 

     newElement.pluginName(); 
    } 
}); 
+1

這將允許處理新元素上的事件,但它不會將該插件應用於新元素。 –

1

如果您正在執行變焦按給定的例子。即處於文檔就緒狀態。將其更改爲懸停您的圖像或div,如下所示

$(".your-div or img").hover(function(){ 
    $('a.photo').zoom({url: 'photo-big.jpg'}); 
});