当特定的引导模式打开时,我正在调用 ajax 轮询函数,它运行良好,但是当我强制关闭 BS 模式时,轮询函数应该停止,但它会在后台继续触发。
我不知道我做错了什么。使用引导程序 4。
这是我的js脚本,
var run = function() {
$.ajax({
url: ajaxurl,
dataType: 'json',
type: 'GET',
data: data,
success: function (data) {
var list = data.list;
$("#modal").on('hidden.bs.modal', function (e) {
clearTimeout(recursive);
console.log('stop');
});
if (list > 0) {
recursive = setTimeout(run, 2000);
console.log('run');
} else if (list == 0) {
clearTimeout(recursive);
console.log('stop');
}
}
});
}
更新:
我以这种方式尝试过,但无法正常工作。
var recursive;
$("#modal").on('shown.bs.modal', function (e) {
run();
});
$("#modal").on('hidden.bs.modal', function (e) {
clearTimeout(recursive);
});
var run = function() {
$.ajax({
url: ajaxurl,
dataType: 'json',
type: 'GET',
data: data,
success: function (data) {
var list = data.list;
if (list > 0) {
recursive = setTimeout(run, 2000);
console.log('run');
} else if (list == 0) {
clearTimeout(recursive);
console.log('stop');
}
}
});
}