JQuery不适用于$ .post()加载的组件

时间:2013-07-15 17:21:54

标签: php jquery

我正在创建一个页面,在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");
    });

});

我一直在寻找解决方案,但一直很难!

请问你能帮帮我吗?

1 个答案:

答案 0 :(得分:2)

准备好的功能触发时,元素不存在。您需要使用委托,因为它允许绑定到处理程序注册后创建的对象。

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

.on() | jQuery API Documentation