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
});
});

もう1つ確認する必要があるのは、このボタンをページの読み込み時に直接読み込むのか、それとも後から読み込むページ更新パネルがあるのか​​ということです。

はいの場合、次の方法でイベントをボタンにバインドする必要があります

$(document).on('click',"#<%=btA.ClientID%>", function() {...});
于 2013-03-06T08:39:16.800 に答える
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!";
}

アプリケーションが実行されると、ボタンがすぐに起動し、Hello World!clickのイベントがトリガーされます。テキストはラベルにレンダリングされます。何かが足りないかどうかを確認してください。btA

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

Or

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

トリガーが機能しない理由は、Jqueryが作成したクリックのみをトリガーできることです。クリックリスナーを作成した後、トリガールートを使用します。

于 2013-03-06T08:39:56.537 に答える
0
$("#<%=btA.ClientID%>").click();

これが唯一の他の方法だと思います。

于 2013-03-06T08:38:49.713 に答える
0

コントロール自体がページにロードされていないときに、イベントを配線しようとしている可能性があります。

代わりにこれを試してください。少し時間を稼いでから、イベントを接続します。

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