簡體   English   中英

成功獲取數據后,事件點擊會多次觸發

[英]Event click fires multiple times after success get data

我有這樣的簡單腳本:

(function($) {
    $(document).ready(function() {
        function getData() {
            $.ajax({
                url: '/path/to/file',
                type: 'GET',
                dataType: 'json',
                success: function(response) {
                    var text = response.jsontitle;

                    $('#link').attr('class', '');
                    $('#link').attr('class', text);

                    // Second, Third, Fourth .... after get data
                    // Click fires 2, 3, 4 .... after get data
                    $('#link').on('click', function() {
                        console.log($(this).attr('class'));
                    })
                }
            });
        }

        var refreshData = setInterval(getData, 5000);

        getData();
    });
})(jQuery);

我希望單擊事件每個時間間隔僅發生一次。 但是,當前,單擊事件與getData()發生的次數一樣多。

例如,如果getData()發生兩次,則click事件也將發生兩次。

如果要在內部成功回調函數中使用,請首先取消綁定事件然后綁定

$('#link').off('click').on('click'....

或者最好在回調函數之外綁定事件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM