UpdatePanel异步回发后的Javascript事件订阅

我在asp.net页面上异步回发后遇到了jquery事件处理程序的问题。 我读了这个主题 – 这是一个很好的解决方案,但我需要一个单独的function。 所以我使用jquery蒙面插件 。

我的js代码现在是:

 jQuery(document).ready(function () { var control = $("#txtCustomerPhone"); InitPhonePattern(this, control); var prm = Sys.WebForms.PageRequestManager.getInstance(); prm.add_endRequest(InitPhonePattern(this, control)); }); function InitPhonePattern(sender, args) { $(args[0]).mask("+7 (999) 999-99-99", { completed: function () { $('#btnCheckCustomerPhone').click();} }); }  

如您所见,掩码初始化了2次:在文档Ready()和异步回发之后(在endRequest()上)。 但是在异步回发后没有映射掩码插件。

有人明白问题吗? 我很感激你的帮助!

你的代码中的问题是jQuery(document).ready不会在更新面板之后运行,所以你需要从jQuery中生成endRequest。

试试这种方式:

  

我想要感谢Aristos的帮助和正确的方向! 在你的代码中我只修复了这个字符串:

 jQuery(document).ready(Init);//direct transfer function not work; 

所以最终代码如下所示: