我有这个页面,这里是代码..
$(document).ready(function () {
$('#<%= btnCompare.ClientID %>').click(function() {
alert("Hey");
// return false;
});
});
,按钮是,
<asp:Button Text="Compare" ID="btnCompare" runat="server" OnClick="btnCompare_Click" />
但是警报没有出现?
编辑: 生成的html
$(document).ready(function () {
$('#ctl00_ContentPlaceHolder1_btnCompare').click(function() {
alert("Hey");
// return false;
});
});
和
<input type="submit" name="ctl00$ContentPlaceHolder1$btnCompare" value="Compare" id="ctl00_ContentPlaceHolder1_btnCompare" style="color:White;background-color:#6086AC;border-color:White;border-width:2px;border-style:Solid;font-family:Verdana;font-size:10pt;font-weight:bold;" />
编辑2
可能是因为我有一个这个文件的母版页,它也有一个document.ready
处理程序,所以在页面加载时两者都被加载了?
答案 0 :(得分:1)
您的点击处理程序不会阻止按钮点击后回发。要阻止发布表单,请使用OnClientClick
按钮属性:
<asp:Button Text="Compare" ID="btnCompare" runat="server" OnClick="btnCompare_Click" OnClientClick="return foobar()" />
function foobar(){
alert("Hey");
return false;
}
答案 1 :(得分:0)
这宁愿是
$(document).ready(function () {
$('#<%= btnCompare.ClientID %>').submit(function() {
alert("Hey");
// return false;
});
});
修改强>
替换它
<asp:Button Text="Compare" ID="btnCompare" runat="server" OnClick="btnCompare_Click" />
与
<asp:Button Text="Compare" ID="btnCompare" runat="server" />
答案 2 :(得分:0)
我有类似的问题。但是,该按钮是弹出控件的一部分,嵌入在UpdatePanel
中。要修复它,我必须在脚本标记中使用以下内容:
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(prm_endRequest);
function prm_EndRequest() {
$(document).ready(function() {
// your code here
});
}