jQuery でボタンをトリガーするすべての方法を知りたいです。これを試しましたが、機能しません。
$("#<%=btA.ClientID%>").trigger('click');
注:これはASP.Netボタンであり、ボタンクリックをトリガーして、buttonAのコードビハインドクリックメソッドをトリガーすることです。
jQuery でボタンをトリガーするすべての方法を知りたいです。これを試しましたが、機能しません。
$("#<%=btA.ClientID%>").trigger('click');
注:これはASP.Netボタンであり、ボタンクリックをトリガーして、buttonAのコードビハインドクリックメソッドをトリガーすることです。
これを試して
$("#<%=btA.ClientID%>").click();
動作しない場合は、これを警告して、JQからアクセスされているかどうかを確認してください
alert($("#<%=btA.ClientID%>").length);
次の方法でイベントをjqueryに登録しましたか
$(function(){
$("#<%=btA.ClientID%>").click(function(){
// your logic here
});
});
もう1つ確認する必要があるのは、このボタンをページの読み込み時に直接読み込むのか、それとも後から読み込むページ更新パネルがあるのかということです。
はいの場合、次の方法でイベントをボタンにバインドする必要があります
$(document).on('click',"#<%=btA.ClientID%>", function() {...});
それは非常に簡単なことであるはずなので、それは私を打ち負かします。実際に試してみたところ、問題なく動作しました。これが私のマークアップです:
<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!";
}
アプリケーションが実行されると、ボタンがすぐに起動し、Hello World!click
のイベントがトリガーされます。テキストはラベルにレンダリングされます。何かが足りないかどうかを確認してください。btA
$("#<%=btA.ClientID%>").click();
Or
$("input[id$='yourbuttonId'").click();
トリガーが機能しない理由は、Jqueryが作成したクリックのみをトリガーできることです。クリックリスナーを作成した後、トリガールートを使用します。
$("#<%=btA.ClientID%>").click();
これが唯一の他の方法だと思います。
コントロール自体がページにロードされていないときに、イベントを配線しようとしている可能性があります。
代わりにこれを試してください。少し時間を稼いでから、イベントを接続します。
setTimeout(function () {
$("#<%=btA.ClientID%>").trigger('click');
}, 10);