javascript - 通过ajax调用更新DOM后,jQuery on click事件丢失

标签 javascript jquery ajax

我有一些工作,但由于我不太习惯用 JS 编写代码,所以我不知道这是否是正确的方法。

我有一个简单的:

<div class="offers"></div>

通过调用 myUrl,我检索准备使用的 HTML(某些 .offer div),然后将其附加 .offers div。 但我想在这些新附加的 .offer

上有一个点击事件
$.ajax({
    'url': myUrl,
    success: function(data){
        offers.append(data);
        $('.offer').on('click', function(e) {
            e.preventDefault();
            $('.offers .offer').removeClass('selected');
            $(this).addClass('selected');
        });
    }
});

感谢您的专业知识!

最佳答案

您可以简单地尝试一下:

$(document).on('click', '.offers .offer', function(e) {
    // Code here
});

理想情况下,出于性能目的,请将 文档 替换为 DOM 上最接近的 ID。

更新:在 A. Wolff 发表评论后,我删除了此处不需要的“document.ready”。 (请阅读评论)。

关于javascript - 通过ajax调用更新DOM后,jQuery on click事件丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34158134/

相关文章:

javascript - 在 script.aculo.us 中降低元素对拖动的敏感度

javascript - 验证手机号码用户数

jquery - 如何在页面上有多个 jquery 循环画廊,但只有一个处于事件状态?

javascript - CSS3 translateX 困惑

php - 使用 Ajax 插入 mysql 数据库的问题

javascript - 将标准 url 更改为 Concrete5 中的特定自定义 URL

javascript - 已添加类型 “…” 消息的未捕获处理程序

javascript - 侧面菜单不会在移动设备上滚动

javascript - Ajax文件上传,如何将多个对象发送到服务器

mysql - 查询、显示和过滤大型数据库列表