2010-04-22 72 views
1

控件包含一些HTML和一些jQuery來處理當您單擊div內的圖像時顯示的花哨工具提示。ASP.NET Ajax部分回發和jQuery問題

該控件然後用於多個不同的頁面,有時在一個updatePanel內,有時不在。

我有以下代碼來處理在更新面板中顯示控件時部分回發後加載jQuery。

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler); 

    function EndRequestHandler(sender, args) { 
     $('img.ormdShipping').each(function(){ 
      $(this).qtip({ 

     // some qtip options go here 
     }) 
     }); 
    } 

問題是,當控件在updatePanel以外的任何地方使用時,jQuery不加載。我是否需要在EndRequestHandler之外觸發的第二個函數?

回答

3

只需撥打一次頁面加載,以及,你可以做到這一點,在結尾處加上這樣的:

$(EndRequestHandler); 

這將導致該代碼同時運行時,一個UpdatePanel刷新,當頁面第一負載。當你在一個函數傳遞給jQuery的構造函數,你調用的jQuery(callback)版本,如果它更容易換位思考一下,你正在做的這個短版:

$(document).ready(EndRequestHandler); //or.. 
$(document).ready(function() { EndRequestHandler(); }); 
+0

謝謝!這看起來有訣竅,正是我所期待的。 = d – chromaloop 2010-04-22 15:48:57