8

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

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

注意:它是一个 ASP.Net 按钮,我想要的是触发按钮单击,以便触发 buttonA 的代码隐藏单击方法。

4

6 回答 6

11

试试这个

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

如果它不起作用,请尝试提醒这一点并检查 JQ 是否正在访问它

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

您是否以下列方式向 jquery 注册了事件

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

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

如果是,那么您应该以下列方式将事件绑定到按钮

$(document).on('click',"#<%=btA.ClientID%>", function() {...});
于 2013-03-06T08:39:16.800 回答
2
$("#<%=btA.ClientID%>").click();

Or

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

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

于 2013-03-06T08:39:56.537 回答
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事件和Hello World! 文本呈现在标签上。检查你是否可能遗漏一些东西。btA

于 2013-03-06T09:05:55.180 回答
0
$("#<%=btA.ClientID%>").click();

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

于 2013-03-06T08:38:49.713 回答
0

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

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

setTimeout(function () {
    $("#<%=btA.ClientID%>").trigger('click');
}, 10);
于 2013-03-06T08:46:21.003 回答
0

我总是让 ClientIdMode="static" 以便您可以轻松地调用具有您在页面中配置的相同 id 的元素..

因此,您不必使用 ClientID .. 此外,您不能在单独的 js 文件中使用 asp.net 代码。

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

$("#btA").click();

于 2018-06-13T13:17:36.933 回答