由于通常看似简单的事情需要几天才能解决,也许有人可以为我指出一个解决方案,但两天后我放弃了以下问题;
在 html 中,在一个表单中,我有一个按钮,应该通过 ajax 调用触发数据加载:
<button type="" class="btn" onclick="getData(); return false;">Show Data</button>
在 JavaScript 中:
$(document).ajaxStart(function() {
$("#qloader").show();
}).ajaxStop(function() {
$("#qloader").hide('slow');
});
并且在 id 为 qloader 的 html div 中定义为 100% 的宽度和高度,微调器居中作为背景,z-index 高于其他:
<div id="qloader" class="myLoader" > </div>
现在,当页面加载时,执行 ajax 调用以获取初始数据,qloader div 被调出并显示微调器 - 动画,在 ajax 调用完成后,qloader 被 ajaxStop 隐藏。
接下来,当我单击一个按钮(显示数据)以启动另一个 ajax 调用时,触发了 ajaxStart,但它不显示 qloader,它等到 ajaxStop 被触发,然后眨眼间它显示 qloader 并隐藏它。
我怀疑 ajaxStart 没有执行,所以我在 $("#qloader").show() 之前放了警报,然后会显示警报,之后会显示 qloader 但微调器动画会暂停 - 没有旋转,在 ajaxStop 之后它会被隐藏起来。
在 ajaxStart 触发器中没有警报,在随后的 ajax 调用中,直到触发 ajaxStop 之前才会显示 div。
它适用于第一个 ajax 调用,但对于通过单击表单按钮触发的后续 ajax 调用它不起作用。
知道这个设置有什么问题吗?