jQuery(function ($) 在 updatepanel 中部分更新后不起作用

本文关键字:更新 不起作用 中部 function jQuery updatepanel | 更新日期: 2023-09-27 18:27:56

<script type="text/javascript">
    //http://digitalbush.com/projects/masked-input-plugin/
    jQuery(function ($) {
        //phone numbers
        alert("test");
        var txtInvestContactPhone = $("#<%=txtInvestContactPhone.ClientID%>");
        $(txtInvestContactPhone).mask("(999) 999-9999");

    });
</script>
我尝试将页面

请求管理器添加到页面内容中,但我认为我做错了:

<script type="text/javascript">
     Sys.WebForms.PageRequestManager.getInstance().add("jQuery(function ($)");
    </script>
    <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" EnablePageMethods="true">
    </asp:ToolkitScriptManager>

我还尝试在我的page_load事件中注册启动脚本,如下所示:

  protected void Page_Load(object sender, EventArgs e)
        {
            ScriptManager.RegisterStartupScript(this, typeof(Page), Guid.NewGuid().ToString(), "jQuery(function ($);", true);
            if (!Page.IsPostBack)
            {

但这只会破坏我的手风琴,导致面板都无法点击.

我想我在这里走在正确的道路上,只是需要一些语法方面的帮助。

jQuery(function ($) 在 updatepanel 中部分更新后不起作用

jQuery(function ($);

是一个可以调用的函数,就像...半个函数。

将 init 代码放在它自己的函数定义中,然后从 DOM 就绪处理程序和启动脚本调用它。

function init() {
    //phone numbers
    alert("test");
    var txtInvestContactPhone = jQuery("#<%=txtInvestContactPhone.ClientID%>");
    jQuery(txtInvestContactPhone).mask("(999) 999-9999");
});
jQuery(function () { init(); });

ScriptManager.RegisterStartupScript(this, typeof(Page), Guid.NewGuid().ToString(), "init();", true);