javascript - JQuery - 附加链接不起作用

标签 javascript jquery ajax event-handling linker

我使用 Jquery 1.3 和 PHP 创建了一个动态列表选择器脚本,它发送一个 JSON AJAX 请求并返回一个项目列表以供选择。 AJAX 调用完美地返回了一个项目数组,我使用 Jquery 将它们作为无序列表附加到空容器 DIV 中。该过程的这一部分按预期工作。

问题来自这样一个事实,即从该项目列表中,我将它们绘制为链接,其点击由 rel 属性处理。这是一个例子:

<a rel="itemPick" id="5|2" href="#">This is the link</a>

JQUERY 处理程序如下所示:

$('a[rel=itemPick]').click(function () { code here... });

这些链接和点击处理程序在页面加载时工作正常,但当它们附加到容器 DIV 时,点击事件不会被拾取。我不想再次刷新整个 HTML 页面,那么除了 append() 之外我还需要做些什么来让 JQUERY 识别新添加的链接吗?

最佳答案

当您使用 jQuery.click 方法时,它会查找页面上当前存在的所有“a”元素。然后,当您添加一个新的“a”元素时,它不知道该点击事件处理程序。

因此,jQuery 中有一个新的事件模型,允许您将函数绑定(bind)到所有当前和 future 的元素,称为 Live Events。 .您可以像使用普通事件绑定(bind)一样使用实时事件,但它们将适用于所有 future 指定的元素。因此,您只需将绑定(bind)逻辑切换为:

$('a[rel=itemPick]').live('click', function () {
    //code here...
})

关于javascript - JQuery - 附加链接不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1625288/

相关文章:

Jquery form.submit 不起作用

javascript - 未获取数组的值,但数组存在 - JS

php - Laravel 中的 Bootstrap 模态验证

javascript - AJAX POST 请求被缓存

javascript - 选择具有相同操作的不同js文件

javascript - 打开一个选项卡并运行脚本

javascript - KendoUI 网格数据源到 json

javascript - 如何使用 JavaScript 删除 html 标签并保留换行符?

javascript - 如何对我的表单联系人使用 reCAPTCHA?

javascript - 避免 jquery 中二分类切换的最佳实践