2010-03-24 22 views
0

我在一個大項目中使用JQuery Tools http://flowplayer.org/tools/JQueryTools活?

問題是:當我使用ajax加載頁面時,所有這些JQuery Tools都停止工作。我知道我必須重新綁定事件或使用jQuery.Live,但我不知道如何使用JQuery Tools來做到這一點。

我需要一個像

$(".element").overlay(...) 
$(".element").tabs(...) 

方法使用jQuery.load()(阿賈克斯)

任何人都知道如何做到這一點,請以後幹活住嗎?

這裏用Ajax和實時代碼更新:

$(".commentlist h3 a").click(function() { 
    $('#container').html('loading').load('test.php #business-wrapper', function() { 
    alert('Load was performed.'); 
    }); 
    return false; 
}); 

的test.php的包含這個選項卡和「負荷」事件不無阿賈克斯阿賈克斯的工作無法正常工作或

$("ul.tabs").live('load', function() { 
    $(this).tabs("div.panes > div", { effect: 'fade', current: 'active', tabs: 'li' }); 
}) 

謝謝。

回答

0

您有此加載事件:

$.live('load', function(event) { 
    $(this).overlay(); 
}); 
+0

我嘗試這一點,但只(單擊'),並且只能在第一次點擊之後工作。所以我必須在作品之前點擊第一條領帶。 加載或就緒不起作用。 ¿這怎麼可能? – user189544 2010-03-24 16:59:13

+0

$ .live('load')不起作用,但$ .live('click')是。我能做什麼? – user189544 2010-03-24 17:23:59

0

如果您要更換你的元素,那麼你需要重新運行他們的代碼在你的Ajax成功或完整的功能。下面是使它成爲一個功能相關的例子(你可以複製它,這是爲了保持它的整潔/易維護):

function setupStuff(context) { 
    $(".element", context).overlay(...) 
    $(".element", context).tabs(...) 
} 

$.ajax({ 
    //Stuff... 
    success: function(data) { 
    //Stuff with results... 
    setupStuff(data); 
    } 
}); 

document.ready調用它最初:

$(function() { 
    setupStuff(document); 
}); 
+0

它不工作:(我認爲是JQuery Tool的東西 – user189544 2010-03-24 16:59:38

+0

@deryck - 你可以發佈ajax代碼嗎? – 2010-03-24 17:00:19

+0

是的,你現在可以看到更新 – user189544 2010-03-24 17:08:16

相關問題