javascript - Ajax 加载新按钮,我需要加载新选择器吗?

标签 javascript jquery

例如,假设我正在编写一个消息系统。用户可以添加消息(通过 AJAX),并且在他们的消息旁边有一些按钮。 (编辑、删除、...)

通过加载页面,加载了一些消息。

<div class="message">
    <p>blaat</p>
    <a href="#" class="btnRemove">Remove</a>
</div>
<div class="message">
    <p>blaat</p>
    <a href="#" class="btnRemove">Remove</a>
</div>

jQuery 选择器知道这些元素。因为当我执行 jQuery 脚本时它们已经存在。 (文件。准备好) 但是当我添加另一个“消息”时,jQuery 无法处理“删除”链接,因为它是在运行 jQuery 脚本后加载的。

有人能帮帮我吗?提前致谢!

最佳答案

您可以使用live 方法代替bind(或简写click)。所以它看起来像:

$('.btnRemove').live('click', function(e) { ... });

这使用事件委托(delegate),click 事件处理程序附加到 document 而不是任何特定元素。

关于javascript - Ajax 加载新按钮,我需要加载新选择器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5939481/

相关文章:

javascript - 输入文本的 html 自动完成功能不起作用;没有历史显示

javascript - 来自greatmonkey默认缩放的谷歌地图链接

javascript - 如何预警我的网站可能因浏览器更新而出现 "break"

javascript - DIVstyle=none,但div仍然显示(用于弹出处理图形)

javascript - 可以监控何时从 div 添加/删除图像吗?

jquery - 自动宽度 div 背景 + 垂直滚动

javascript - 我们可以强制函数调用完成并返回,然后再继续执行 node.js 中的下一条语句吗?

javascript - 使用 Javascript 中的正则表达式验证输入

jquery - 如何创造更好的爆炸效果

javascript - 如何在javascript中创建img标签字符串