【问题标题】:jQuery click event not firing even after changing ClientIdMode to Static - ASP.NET即使将 ClientIdMode 更改为静态后,jQuery 单击事件也不会触发 - ASP.NET
【发布时间】:2015-09-24 04:13:20
【问题描述】:

我正在尝试使用 jQuery 在单击登录按钮时显示我的加载程序,所以我转向了ClientIdMode = "Static"。点击事件仍未触发,我无法弄清楚发生了什么:

<asp:Button ClientIDMode="Static" ID="btnLogin" CssClass="btn btn-block btn-large" runat="server" Text="Login" OnClick="btnLogin_Click"></asp:Button>

jQuery:

$("#btnLogin").click(function() {
$("#loader").show();
});

CSS:

#loader {
animation: animate 1.5s linear infinite;
clip: rect(0, 80px, 80px, 40px); 
height: 80px;
width: 80px;
position: absolute;
left: calc(50% - 40px);
top: calc(90% - 40px);
display: none;
}

我之前没有尝试将 jQuery 与 Web 表单一起使用,所以我可能会遗漏一些东西,但目前我找不到任何解决方案。

谢谢

【问题讨论】:

  • 什么版本的jQuery?你的标记中是否加载了 jQuery 库?
  • 它应该可以正常工作我已经做了数千次了。您是否查看了源代码以验证按钮的 ID 实际上是“btnLogin”。然后检查控制台是否有 javascript 错误。
  • 是,版本 1.8.0
  • 我已检查以验证 ID。您认为这可能与版本有关吗?
  • 可能是处理程序没有连接到文档准备就绪。

标签: jquery asp.net


【解决方案1】:

例如,如果您将背景更改为red,则此方法有效。

http://jsfiddle.net/scrkd9e2/1/

确保您的按钮元素正确命名为btnLogin,并且未被 ASP.NET 框架修改。

如果您使用的是jQuery 3.0. Alpha。你应该使用addClass()removeClass() 而不是.show()

【讨论】:

    猜你喜欢
    • 2013-03-08
    • 2011-06-11
    • 2014-04-08
    • 1970-01-01
    • 1970-01-01
    • 2011-12-01
    • 2015-01-07
    • 1970-01-01
    • 2022-11-24
    相关资源
    最近更新 更多