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