日期:2014-05-16  浏览次数:20615 次

关于ajax引入js文件后$(document).ready方法的问题
根据我的实验,在页面中使用jQuery的ajax相关方法引入一个新的html片段,而如果这个片段又包含一个引用的外部的js文件的话,那么这个js文件中的代码会自动执行。
我的问题是,如果这个引入的js文件中有$(document).ready(...),这段代码为什么也会执行?这段代码不是应该在页面初次载入完成后就执行的吗?引入这个js文件的时候页面肯定已经载入完成了啊,为什么还会执行?
ajax jquery

------解决方案--------------------
<script src="jq.js"></script>
<script>
   $(document).ready(function(){alert(1)})
   $(document).ready(function(){alert(2)})

   $(document).ready(function(){
$(document).ready(function(){alert(3)})//也能输出3
})
</script>

------解决方案--------------------
因为你引入一个html文件,本质上也是一次浏览器向服务器发送页面请求、返回页面、解析、渲染的过程,所以和打开一个新页面是一样的,引入的页面上的脚本和相应事件同样也会触发。