ajaxStart事件无效原因及不同页面显示相同加载弹窗

xiaoxiao2021-02-28  62

想用ajaxStart来触发一个弹窗来显示ajax加载慢时加载的loading图标,然后这么写

<div id="loading" >加载中</div>

$(document).ready(function () { $("#loading").ajaxStart(function () { console.log(1) $(this).show(); }).ajaxStop(function () {//ajaxStop改为ajaxComplete也是一样的 $(this).hide(); console.log(2) }); });

怎么也没起作用,通过jQuery 1.9+ ajaxStart事件无效,无法被触发的原因才知道在jq1.9以上版本就得写成

$(document).ready(function () { $(document).ajaxStart(function () //"#loading"改为document,针对全局文档 { $("#loading").show();//this 改为弹窗节点 }).ajaxStop(function () {//ajaxStop改为ajaxComplete也是一样的 $("#loading").hide(); }); });

但是这种页面的加载只能针对当页面来显示,要想全部网页加载都要有这个loadding页,那只能用js进行dom节点生成

var html = $('<div id="loading" >加载中</div>'); $(document).ajaxStart(function () { $("body").append(html); }).ajaxStop(function () {//ajaxStop改为ajaxComplete也是一样的 html.remove(); });

转载请注明原文地址: https://www.6miu.com/read-71499.html

最新回复(0)