在jquery中触发按钮单击的所有可能方法

时间:2013-03-06 08:37:29

标签: c# javascript jquery webforms

我想知道在jQuery中触发按钮的所有可能方法,我试过这个但它不起作用,

$("#<%=btA.ClientID%>").trigger('click');

注意:它是一个ASP.Net按钮,我想要的是触发按钮点击,这样它就会触发buttonA的代码隐藏点击方法。

6 个答案:

答案 0 :(得分:9)

试试这个

$("#<%=btA.ClientID%>").click();

如果它不起作用,请尝试提醒它并检查它是否被JQ访问

alert($("#<%=btA.ClientID%>").length);

您是否以下列方式使用jquery注册了该事件

$(function(){
   $("#<%=btA.ClientID%>").click(function(){
   // your logic here
});
});

还有一件事需要确认,您是在页面加载时直接加载此按钮,还是有一些页面更新面板在后面加载它?

如果是,则应按以下方式将事件绑定到按钮

$(document).on('click',"#<%=btA.ClientID%>", function() {...});

答案 1 :(得分:2)

$("#<%=btA.ClientID%>").click();

Or

$("input[id$='yourbuttonId'").click();

触发器不起作用的原因是Jquery只允许触发Jquery创建的单击。编写单击侦听器后使用触发器路径。

答案 2 :(得分:2)

它打败了我,因为它应该是一个非常简单的事情。我实际上只是试了一下它并没有顺利地工作。这是我的标记:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $("#<%=btA.ClientID%>").trigger('click');
    });
</script>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Label ID="lbA" runat="server"></asp:Label>
        <asp:Button ID="btA" runat="server" OnClick="btA_Click" Text="Click Me!" />
    </div>
    </form>
</body>
</html>

...我的代码背后有这个方法:

protected void btA_Click(object sender, EventArgs e)
{
    lbA.Text = "Hello World!";
}

当应用程序运行时,它会立即触发click按钮的btA事件,并在标签上显示 Hello World!文本。检查一下你是否遗漏了什么。

答案 3 :(得分:0)

$("#<%=btA.ClientID%>").click();

我相信这是唯一的另一种方式。

答案 4 :(得分:0)

当控件本身未加载到页面时,可能是您正在尝试连接事件。

试试这个。它会花一点时间然后连接事件。

setTimeout(function () {
    $("#<%=btA.ClientID%>").trigger('click');
}, 10);

答案 5 :(得分:0)

我总是使ClientIdMode =“static”,以便您可以轻松调用您在页面中配置的相同ID的元素。

所以你不能使用ClientID ..你不能在单独的js文件中使用asp.net代码。

$( “#&LT;%= btA.ClientID%&gt;” 中)触发( '点击');

$( “#BTA”)点击();