1

jQuery を使用して、ボタンを含む HTML を少し生成しています。何らかの理由で、生成されたボタンに対してボタン イベントを発生させることができません。

ソースを表示すると、生成された html は問題ないように見えます... Firebug も調べましたが、何も問題はありません....動的に生成されたボタンに対してボタンクリックイベントが発生していません。

どんな助けでも大歓迎です。

これが私のコードです:

$(document).ready(function () {

    $("#btnSearch).click(function () {
         var html = "";
         html += "<tr><td>Test</td></tr>";
         html += "<tr><td>Test 2</td></tr>";
         html += "<tr><td><input id="btnTest" type="button" value="Test Button" /></td></tr>";

        $(html).appendTo("#TestTable");
    });


    $("#btnTest").on("click", function () {
         alert('hey');
    });

});

私の静的htmlは単純です:

<table id="TestTable"></table>
4

3 に答える 3

3
$('body').on('click', '#btnTest' function () {
     alert('hey');
});

.onドキュメントを読んで、何が改善されているかを理解する必要があります。従来の方法とは異なり.liveます。

于 2013-04-05T16:23:05.547 に答える
1

jqueryの「on」メソッドがどのように機能するかについて、私はあまり知りません。そのため、コードにいくつかの変更を加えて、目的を解決できるようにしました。

$(document).ready(function () {

            $("#btnSearch").click(function () {
                 var html = "";
                 html += "<tr><td>Test</td></tr>";
                 html += "<tr><td>Test 2</td></tr>";
                 html += '<tr><td><input id="btnTest" type="button" value="Test Button" onclick="myfun()"/></td></tr>';
                $(html).appendTo("#TestTable");
            });


            /*$("body").on("click",'btnTest' ,function () {
                 alert('hey');
            });
        */

        });

        function myfun()
        {alert("hey");}
于 2013-04-05T16:56:01.970 に答える