ASP.NET Ajax部分回发和jQuery问题

控件包含一些HTML和一些jQuery来处理在单击div中的图像时显示的花哨工具提示。

然后,控件在几个不同的页面上使用,有时在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之外触发的第二个函数?

只需在页面加载后调用它,您可以通过在最后添加它来执行此操作:

 $(EndRequestHandler); 

这将导致该代码在UpdatePanel刷新时以及首次加载页面时运行。 当你将一个函数传递给jQuery构造函数时,你正在调用jQuery(callback)版本,如果它更容易思考,你正在做这个的简短版本:

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