[英]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.