您的位置:首页 > 其它

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

2017-07-11 16:50 337 查看
想用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();
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐