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