我正在从官方文件中学习jQuery。我被$(document).ready收购了。我有以下代码:
$(document).ready(function(){
console.log('Document:READY');
$.get('script.js', function(){
console.log('Script Loaded');
});
});我从文档得到的是,一旦文档对象模型准备就绪,就会触发document.ready。我无法理解的是,当我使用script.js对$.get('script.js')进行负载调用时,为什么又要调用document.ready。这是普鲁克尔和console.log
Document:READY
script.js:6 Script Loaded
VM562:4 Document:READY
VM562:6 Script Loaded
VM563:4 Document:READY发布于 2017-02-01 18:26:58
在深入研究文档之后,我发现每当js被动态加载时,jQuery就会触发这个事件。来自api文档:
使用$.getScript()等方法可以在页面加载之后很长时间动态加载脚本。尽管.ready()添加的处理程序总是在动态加载的脚本中执行。
发布于 2017-02-01 18:20:36
$.get('script.js')是在script.js中定义的。这意味着它是递归的,因此,实际上您的$(document).ready(function()被称为递归无限。它不停的打电话。
https://stackoverflow.com/questions/41986746
复制相似问题