Ajax 加载新按钮,我需要加载一个新的选择器吗?

Ajax loads new button, do I need to load a new selector?

本文关键字:加载 一个 选择器 按钮 新按钮 Ajax      更新时间:2023-09-26
例如

,假设我正在编写一个消息系统。用户可以添加消息(通过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) { ... });

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

您可以使用jQuery Live方法来处理使用ajax加载的删除。

你能用这个例子发布JavaScript代码吗? 我知道 jQuery 中的 $().live 函数可能非常适合您的需求,因为它会在按钮添加到DOM时处理它们......例如:

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