问题:
如果我链接到两个JavaScript文件中,都使用$(document).ready
功能,会发生什么?一个覆盖另一个吗?或者两者都做$(document).ready
吗?
例如,
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script> <script type="text/javascript" src="http://.../jquery1.js"></script> <script type="text/javascript" src="http://.../jquery2.js"></script>
jquery1.js:
$(document).ready(function(){ $("#page-title").html("Document-ready was called!"); });
jquery2.js:
$(document).ready(function(){ $("#page-subtitle").html("Document-ready was called!"); });
我相信最好的做法是将两个调用合并成一个$(document).ready
但在我这种情况下不太可能。
$(document).ready()'s与任何其他函数相同。一旦文件准备就绪,它就会启动。问题是当你在多个$(document).ready()'s中触发相同的函数时,就不会触发$(document).ready()'s
//this <div id="target"></div> $(document).ready(function(){ jQuery('#target').append('target edit 1<br>'); }); $(document).ready(function(){ jQuery('#target').append('target edit 2<br>'); }); $(document).ready(function(){ jQuery('#target').append('target edit 3<br>'); }); //is the same as <div id="target"></div> $(document).ready(function(){ jQuery('#target').append('target edit 1<br>'); jQuery('#target').append('target edit 2<br>'); jQuery('#target').append('target edit 3<br>'); });
两者的行为完全一样。唯一的区别是,虽然前者将取得同样的结果。后者的运行速度将提高一秒钟,并且需要更少的输入。*)
总之,在可能的情况下,只使用$(document).ready();
我想出了如何解决它。我去了
/Library/Developer/CommandLineTools/Packages/
然后打开并安装macOS_SDK_headers_for_macOS_10.14.pkg。