繁体   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