1

我有这个页面,这是代码..

$(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处理程序,所以在页面加载时两者都被加载了?

4

3 回答 3

1

您的点击处理程序不会阻止按钮点击的回发。要防止发回表单,请使用OnClientClick按钮属性:

<asp:Button Text="Compare" ID="btnCompare" runat="server" OnClick="btnCompare_Click" OnClientClick="return foobar()" />

function foobar(){
    alert("Hey");
    return false;
}
于 2012-08-22T05:05:18.177 回答
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" />
于 2012-08-22T04:51:25.910 回答
0

我有一个类似的问题。但是,该按钮是弹出控件的一部分,它嵌入在UpdatePanel. 要修复它,我必须在脚本标签中使用以下内容:

var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(prm_endRequest);

function prm_EndRequest() {
   $(document).ready(function() {
      // your code here
   });
}
于 2018-05-18T11:32:34.937 回答