-1

我正在尝试制作像 Facebook 这样的墙贴。我需要每十秒刷新一次内容 div,并且在用户输入评论时不应刷新 div。内容正在重新加载,但并未停止。实际上,我想在单击时停止它id = 'comments_option'

我试过这个并调用函数 reload(uid) 在$(document).ready

var intervalId = null;

function reload(uid) {
    intervalId = setInterval(function () {
        var ol = $('#home_list');
        var start = ol.children().length;

        $.post('ajax/reloadhome.php', {
            uid: uid,
            start: start
        }, function (data) {
            $('#buzzfetch ul').html(data);
        });
    }, 5000);


    $('#comments_option').click(function () {

        clearInterval(intervalId);

    });
}
4

1 回答 1

0

使用on相对于click

$("#comments_option").on("click", function () {
    clearInterval(intervalId)
});

因为#comments_option是 inside #buzzfetch ul,所以 click 事件在使用时只会绑定到 #comments_option 的第一个实例click。它不会绑定到任何其他实例。

请参阅此答案bind以进一步解释和之间的差异on

于 2012-08-21T19:19:50.790 回答