簡體   English   中英

jQuery手風琴在asp.Net回發后未重新啟動

[英]jquery accordion not re-initiating after an asp.Net postback

我用以下方法觸發了一個jQuery手風琴:

$(document).ready(function(){
   $('#accordion').accordion();
});

問題是這是一個.asp.NET應用程序,如果頁面觸發回發會破壞手風琴。 回發后如何重新啟動手風琴?

抱歉,我不是asp.NET的專家,也很抱歉,我無法為您提供示例的鏈接,因為這是受密碼保護的應用程序。

謝謝。

回發后,您需要使用UpdatePanel函數重新初始化手風琴,如下所示:

<script type="text/javascript"> 
$(document).ready(function(){
    var prm = Sys.WebForms.PageRequestManager.getInstance();    
        prm.add_initializeRequest(InitializeRequest);
        prm.add_endRequest(EndRequest);
   // on page ready first init of your accordion
   $('#accordion').accordion();
});


function InitializeRequest(sender, args) {      
}

function EndRequest(sender, args) {
     // after the UpdatePanel finish the render from ajax call
     //  and the DOM is ready, re-initilize the accordion
     $('#accordion').accordion();
}
</script>

相對的:
Gridview jQuery DatePicker中的Asp.Net UpdatePanel
ASP.Net:需要在更新面板上運行javascript加載完成
如何使客戶端腳本在ASP.NET回發上執行? (來自UpdatePanel)

Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(InitAccordion);
function InitAccordion(){       
   $('#accordion').accordion();}

這將適用於回發和異步回發。由於同步或異步回發而刷新頁面上的所有內容后引發。 http://msdn.microsoft.com/zh-CN/library/bb397523(v=vs.100).aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM