-1

Facebookのようなウォールポストを作ろうとしています。10 秒ごとにコンテンツ 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は の内部にあるため#buzzfetch ul、 を使用する場合、クリック イベントは #comments_option の最初のインスタンスにのみバインドされますclick。それ以上のインスタンスにはバインドされません。

との違いの詳細については、この回答を参照してください。bindon

于 2012-08-21T19:19:50.790 に答える