2010-04-22 49 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