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

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


猜你喜欢

转载自blog.csdn.net/baidu_34197758/article/details/74987560
今日推荐