0

テンプレートとして、更新せずにdiv内に他のページをロードするページを作成しています。しかし、JQuery-Ajax リクエストによって設計されたコンポーネントは、私が JQuery で作成した関数と相互作用しません。これらのコンポーネントのセレクターが存在しないかのようです。

以下では、テンプレートの中央にページをロードする関数を作成しています。

function carregaUrl2(url) {

    var data = $("form").serialize();

    $.ajax({
        type: "POST",
        url: url,
        data: data
    }).done(function(data) {
        $("#divCentral").html(data);
    });

}

関数テストの下で、JQuery-Ajax リクエストによって作成されたコンポーネントと対話するためだけに:

$(document).ready(function() {

    $("form").change(function(e) {
        alert("SUBMIT FORM");
        e.preventDefault();

        return false;

    });

    $("select").click(function() {
        alert("INPUT CLICK");
    });

});

私は解決策を探していましたが、大変でした!

私を手伝ってくれますか?

4

1 に答える 1

2

準備完了関数が起動すると、要素は存在しません。ハンドラーの登録後に作成されたオブジェクトへのバインドが可能になるため、代わりにデリゲートを使用する必要があります。

$("#divCentral").on("click", "select", function() {
    alert("INPUT CLICK");
});

.on() | jQuery API ドキュメント

于 2013-07-15T17:24:33.103 に答える