javascript - .on(click,function) 不适用于动态添加的内容

标签 javascript jquery ajax

我的动态帖子是通过 .load() 添加的,它们会这样进入 DOM:

<div class="post">
    <h2>Basic Info</h2><button class="closer">X</button>
            <div class="innerPost">
               <h5>Notes:</h5>
                   <p>Lorem ipsum dolor sit amet.</p>
            </div>
 </div>

我的 jQuery 删除帖子适用于页面上的静态第一个帖子,但不适用于新添加的动态帖子。这是 jQuery:

     $(".closer").on('click', function() {
         $(this).parent().remove();
     });

我一直在尝试不同的选择器并查看其他人的类似问题,但似乎仍然无法使其工作。非常感谢任何帮助:)

最佳答案

这是因为当选择器运行时,元素不在 DOM 中。使用event delegation.

$(document).on('click', ".closer", function() {
    $(this).parent().remove();
});

关于javascript - .on(click,function) 不适用于动态添加的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27871422/

相关文章:

javascript - Rails:使用指定的 .js.erb 从表中删除行时出现 ActionView::Template::Error

javascript - 嵌套路由的刷新 - React Router 4

javascript - try catch javascript 意外标识符

jQuery : How to find the url that the user has typed in the browsers address-bar during body-unload event?

php - Laravel 5 异步AJAX请求导致session问题

javascript - this.id 在 ie 中不工作

javascript - 如何使用 jQuery show() 和 hide() 列表项 block

jquery - 单击 jQuery 时向左水平滚动 + 50px

php - SEO 和 ajax 加载的内容链接

javascript - 如何在 ajax 在 Angular Js 上完成之前加载 View ?