由于受到模板系统的限制,我写在页面上的js是分散的,而它们都是绑定在jquery的ready
事件中的,比如这样
<!-- header.php --> <script> $(document).ready(function () { ... }); </script> <!-- body.php --> <script> $(document).ready(function () { ... }); </script> <!-- foot.php --> <script> $(document).ready(function () { ... }); </script>
因为事件执行顺序是跟它的绑定顺序一致的,也就是说foot.php
里的ready
肯定是最后触发的,但是由于我会在这里面做一些变量初始化的工作,想让foot.php
里面ready
的handler
第一个被触发,请问在不挪移代码顺序的情况下有何办法呢?
可以把header 和body 要做的事情放到函数中在footer中调用吧
如果初始化的工作不依赖于页面其它资源的加载,可以把footer的初始化工作放到ready函数外面,
使用一个匿名函数使其立即执行。
这样的好处就是弱化了header.php和footer.php的脚本依赖关系。