javascript - 如何在 AJAX 返回的 HTML 中调用 jQuery 函数

标签 javascript jquery ajax

我有一个页面,我在其中发布了帖子,用户可以发表评论。使用 AJAX 处理评论。每个评论行都有一个“投票”按钮。

在索引页中,我放置了用于投票的 jQuery 函数

<script type="text/javascript">
$(function()    {
         $('.voteUpBtn').click(function() {
               // Cast your vote
          }
     }
</script>

现在,当用户提交新评论时,它会调用 AJAX 并使用 jQuery 将 HTML 附加到索引页面

$.ajax({
        type: "POST",
        url: "proc/add-line.php",
        data: dataString,

        cache: false,
        success: function(html){
            $("ul#nextLines").append(html);
        }
    });

在附加的 HTML 上,我有相同的投票按钮。 (每条评论都有对应的投票按钮)。

问题是,AJAX 生成的新评论上的“投票”按钮不起作用。如果我刷新页面,则投票有效(尽管我使用的是相同的标记)。

如何使投票按钮在 AJAX 返回的 HTML 中起作用?

最佳答案

使用live代替click:

$('.voteUpBtn').live('click', function() {
    // Cast your vote
}

关于javascript - 如何在 AJAX 返回的 HTML 中调用 jQuery 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5169083/

相关文章:

javascript - javascript中的内存泄漏,循环内的函数

javascript - 解析javascript中的字符串值对

jquery - 我怎样才能告诉javascript在最大宽度之后执行

javascript - 在 Javascript 中设置选择

javascript - 引用对象的方法时如何使用 jQuery promises?

javascript - 如何将一个 javascript 类分成多个文件?

javascript - 如何修改jQuery生成的div?

javascript - 每当有人提交表单时,尝试使用 Google 表单响应中的数据来创建 Google 表格

javascript - Thor 等效或类似的 Javascript 脚本框架?

javascript - Rails 4 ajax 在点击提交后不刷新