0

我有一个简单的应用程序,我决定使用 ajax 来加载关卡为了简单/不管什么原因(也许要学一点)。

但我被困住了...

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

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

怎么了?

4

2 回答 2

2

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

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

于 2013-03-25T13:09:00.917 回答
0

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

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

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

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

不管用

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

将工作

于 2013-03-25T13:10:25.233 回答