[英]Jquery server control click event is not firing
Web表单上有服务器控件按钮,它位于updatepanel控件内部。
<asp:Button runat="server" Text="Save Details" ID="btnSave" Width="130px"
ClientIDMode="Static"></asp:Button>
脚本在外部文件中。
$(document).ready(function () {
$('<%= btnSave.ClientID %>').click(function () {
alert('msg');
});
});
所有其他脚本运行正常,但是此脚本未触发。
您选择器中缺少#
:
$(document).ready(function () {
$('#<%= btnSave.ClientID %>').click(function () {
// ^ add # here
alert('msg');
});
});
好的一方面,您正在使用ClientIDMode="Static"
,另一方面,您正在尝试<%= btnSave.ClientID %>
。
使用<%= btnSave.ClientID %>
将获取元素的渲染ID。 并且Button的ID将与您使用的ClientIDMode="Static"
。 仅当控件在页面上呈现多个时间时,才应使用它。 并使用<%= btnSave.ClientID %>
页面增加额外的开销,并且每次渲染HTML
都会碰到这一行。
结论就是这样。 使用'#btnSave'
作为元素选择器,如果元素在页面上一次呈现,则避免使用<%= btnSave.ClientID %>
。
这将相同。
$(document).ready(function () {
$("[id$='btnSave']").click(function () {
alert('msg');
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.