我想在ajaxStart
. 我为此使用了一个弹出窗口,以便背景淡出并变为非活动状态。也就是说,如果有其他方法可以实现这一点(而不是使用弹出窗口),我也愿意尝试一下。
问题是,虽然包含 AJAX 调用的相同函数在页面加载和按钮单击时都执行,但加载程序仅在第一次出现 - 在页面加载时。我放置了一些控制台日志并验证ajaxStart
并ajaxComplete
确实触发了,但是在单击按钮后进行 AJAX 调用时,弹出窗口无法打开。
JavaScript:
$(document).ready(function(){
$( document ).ajaxStart(function() {
$("#loader").html("<img src='../images/ajax-loader.gif'/>").popup("open");
}).ajaxComplete(function() {
$("#loader").popup("close");
});
// do other stuff
loadData();
$("#button").click(function(){
loadData();
});
});
function loadData(){
//make an ajax call to fetch data
}
HTML:
<div data-role="popup" data-shadow="false" data-corners="false" class="loader1"
id="loader" data-overlay-theme="a" data-theme="none" data-dismissible="false" >
</div>
可能是什么问题,或者是否有其他解决方案可以达到预期的结果?