javascript - 操纵由 jQuery 添加的元素

标签 javascript jquery

我正在向 DOM 中动态添加一些元素。

我想用 jQuery 的 .click() 函数来操作这些元素。但不知何故,DOM 不会为动态添加的元素触发 .click() 事件,它仅适用于 jQuery 未添加的其他元素。

知道为什么吗?

最佳答案

这是事件委托(delegate)的一个简单案例,意味着在页面上动态添加的元素上的直接事件绑定(bind)不会在您的案例中获得事件 click,因此您需要遵循特定的事件语法代表团喜欢:

$(staticParent).on(event, selector, callback);

这里的 staticParent 是最近的父级,它包含动态添加的元素,可以是 div、table、form 等。 Event 是 click< 之类的事件,selector 是上下文中元素的类名或 id,callback 是事件发生时必须运行的函数。

尽管 $(document) 始终可用于委托(delegate)事件。所以你可以这样做:

$(document).on('click', '.myElem', function(){
    alert('clicked.');
});

关于javascript - 操纵由 jQuery 添加的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23586208/

相关文章:

javascript - jQuery - not 运算符无法按预期工作

Javascript 函数在 JSFiddle 中工作,但当我将其复制到本地页面时不起作用

php - 需要在 php 中使用 jquery 获取选中的输入和复选框值

javascript - Vue.js v-for 在应用程序中不起作用

javascript - Codedrops 透视导航

javascript - Stellar JS/一定高度触发功能

javascript - 如何将面板锚定到 DOM 元素?

javascript - Graphiql 返回所有项目而不是特定项目

javascript - 将 MySQL 查询结果传递给 Django 中的 Javascript/Jquery

javascript - 如何制作流畅的动画