JQuery没有';不能使用$.post()加载的组件


JQuery doesn't work with components loaded by $.post()

我正在创建一个页面,在不刷新的情况下加载div中的其他页面作为模板。但是JQueryAjax请求设计的组件与我用JQuery创建的任何函数都没有交互,就好像这些组件的选择器不存在一样。

下面我正在创建一个函数来加载模板中心的页面:

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

在功能测试下面,只需与JQueryAjax请求创建的组件进行交互:

$(document).ready(function() {
    $("form").change(function(e) {
        alert("SUBMIT FORM");
        e.preventDefault();
        return false;
    });
    $("select").click(function() {
        alert("INPUT CLICK");
    });
});

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

你能帮我吗?

当就绪函数启动时,元素不存在。您需要使用委托,因为它允许绑定到处理程序注册后创建的对象。

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

.on()| jQuery API文档

相关文章: