想用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(); });