0

「myTable」がページにあるときにスクリプトを起動する必要がありますが、後でajaxによってレンダリングされ、ajaxを編集できません。このスクリプトをページの下に残して、テーブルが表示された場合にのみ起動することはできますか?どうすればよいですか?

ありがとう....

<html>
<body>
<script>
    $('#myTable').ready(function(){

        alert('ready');

    });

</script>
</body>
</html>

後でレンダリングされるテーブル

<table id="myTable">

<tr>
    <td>t</td>
    <td>t</td>
    <td>t</td>
    <td>t</td>
</tr>

    <tr>
    <td>t</td>
    <td>t</td>
    <td>t</td>
    <td>t</td>
</tr>


</table>
4

2 に答える 2

1

テーブルの作成後にトリガー関数を作成する必要があります。

function create_element() {
    // Create an element
    $('body').append("<p>Testing..</p>")
    // Trigger
    $('body').trigger('elementCreated');
}

$(document).ready(function () {
    $("body").on("elementCreated", function (event) {
        alert('One more');
    });
});

http://jsfiddle.net/GT7eB/

于 2013-02-13T12:43:48.317 に答える
1

スクリプトの最初に ajax complete 関数を設定し、そこにテーブルが存在するかどうかを確認できます。

$.ajaxSetup({
    complete: function () {
        if ($("#mytable").length>0) do_something;
    });
于 2013-02-13T12:56:36.210 に答える