jQuery ajax,如何从响应文本再次调用

标签 jquery ajax

我正在尝试使用ajax,如下所示;

jquery 代码:

$("a.generate").click(function(){
    $.ajax({
        data: {tag: $(this).html()},
        success: function(data){
            $("#terms div.content").html(data);
        }
    });
});

我调用的链接:

<a href="#" class="generate"> tag </a>

调用后,ajax 加载我可以再次调用的链接,如下所示:

<a href="#" class="generate"> term </a>
<a href="#" class="generate"> term2 </a>

问题是,如果我点击 ajax 加载数据的链接,ajax 就不会再加载。

编辑:

在我使用 on() 方法编辑代码后,如下所示,代码不执行任何操作:

$("body").on('click', 'a.generate', function(){
    $.ajax({
        data: {tag: $(this).html()},
        success: function(data){
            $("#terms div.content").html(data);
        }
    });
});

已解决:

jquery版本,我在head标签中添加的是1.6.2,我已经更新了版本,现在没有问题了。再次感谢。

最佳答案

使用 on 添加事件处理程序。

$(document).on("click", "a", function(){
});

这将连接每一个曾经被点击过的 anchor 。为了更具选择性,只需传入第二个参数的选择器

$(document).on("click", "a.someClass", function(){
});

请注意,live(jQuery 中事件的常见建议)已弃用on 是添加事件的首选方式,该方式也适用于动态添加的内容。

此外,由于 on 是在 jQuery 1.7 中添加的,如果您使用的是旧版本,则必须使用 delegate。请注意,选择器和事件的顺序是相反的:

$(document).delegate("a.someClass", "click", function(){
});

这里是docs for on()

关于jQuery ajax,如何从响应文本再次调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8549118/

相关文章:

javascript - 如何在同一类、id 和名称中的字段中获取最高值文本?

jquery - 在列表中查找具有指定类的第 5 个元素并在 jQuery 中添加另一个类

javascript - 删除类(class)添加类(class)问题

html - 如果调用不是通过 AJAX 完成的,如何包含 CSS 链接?

javascript - 管理多个 ajax 请求的正确方法是什么?

jquery - 如何使用jquery在html表中的tbody的最后一个td的最后一个td上设置事件

c# mvc 从 AJAX 调用返回 JSON 或文件

css - Joomla:包含没有 iframe 的外部页面来应用自己的 CSS?

javascript - ajax成功后没有调用另一个js函数

javascript - 如何使用 for 循环遍历函数?