我无法操纵/选择通过Ajax调用加载的div?

时间:2013-03-25 13:04:13

标签: javascript jquery ajax

我有一个简单的应用程序,我决定使用ajax来加载级别以简化/无论什么原因(可能要学习一点)。

但我被卡住了......

$.ajax({
    url: "actions.php",
    get: "GET",
    data: "show_level=" + 1,
    cache: false,
    success: function (views){
        $(".slides_container").append(views);
    }
});

问题是,附加到我的容器的视图不再可选,基本上所有的jquery函数都已停止工作了。

发生了什么事?

2 个答案:

答案 0 :(得分:2)

如果您使用$(".target-element").click(function(){ do something here});之类的绑定,它们仅在绑定发生时对DOM中已有的元素有效。

您需要使用$("#element-already-in-dom").on("click", ".target-element", function(){do something here});

答案 1 :(得分:0)

你是非事件冒泡的受害者。

将事件绑定到元素时,通常会在窗口加载时执行此操作。如果在窗口加载后将一个元素添加到DOM,则事件将不会绑定到它,尽管它满足事件处理程序所列出的所有其他条件。

相反,您必须使用委托,这意味着事件绑定到页面上的非更改元素,然后冒泡到正确的元素。

$('.appended-view').click(function(event) { ... }

无效

$('body').on('click', '.appended-view', function(event) { ... } 

会工作