我想知道在jQuery中触发按钮的所有可能方法,我试过这个但它不起作用,
$("#<%=btA.ClientID%>").trigger('click');
注意:它是一个ASP.Net按钮,我想要的是触发按钮点击,这样它就会触发buttonA的代码隐藏点击方法。
答案 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”)点击();