我正在使用模板化网站加载页眉,页脚和动态正文。我有一个类,我在其中指定将根据当前页面加载哪些脚本,以及用户登录状态。我写了一些jquery插件,当页面加载时我需要通过插件调用
$(document).ready(function(){ // $()。thePlugin() });
我个人在每个页面上都没有多个doc ready脚本来调用它,但是我没有看到其他任何选项。有4个或5个脚本调用该函数是不好的做法吗?
答案 0 :(得分:2)
在一个页面上有多个ready()
块很好。事实上,它已经完全设置好,你可以做到这一点。旧方法(通常用于load()
事件)执行的操作如下:
window.onload = function() {
...
}
但是当多个脚本都分配了load()
个处理程序时,很快就会崩溃,导致:
function addLoad(handler) {
var current = window.onload;
if (current) {
window.onload = function() {
current();
handler();
}
} else {
window.onload = handler;
}
}
嗯,还有更多的东西,但那是基本原则。 jQuery实际上是为你处理那个样板文件,所以你的事件处理程序不会互相破坏。
多个ready()
处理程序使您的代码更易于维护,并且可能更易于阅读。如果你只是做了一些,那么甚至不用担心它。如果你达到数百(在同一页面上),那么也许是时候重新思考了。
另一种方法是将标记写入PHP中的缓冲区,将所有ready()
代码写入另一个缓冲区,最后您可以按照自己喜欢的顺序写出这些缓冲区。您可以通过这种方式将ready()
处理程序有效地组合在一起。
答案 1 :(得分:0)
如果您使用的是PHP,那么您是否考虑过使用PHP自动加载器?
http://php.net/manual/en/language.oop5.autoload.php
这可以帮助您减少请求,并允许最后一次机会包括。
答案 2 :(得分:0)
这不是你正在调用的函数,而是你正在联系的事件......多次执行它并没有错,但是不依赖于它们按照特定顺序触发它们。
侧面提示,这是一个等效的快捷方式:
$(function() { $().thePlugin(); });
此外,如果这些页面对您的所有页面都是通用的,请将它们移动到外部.js文件。如果没有很多事情发生,那么一些没有找到任何东西的选择器也不会受到伤害。这只是基于你在%的时间内使用的代码百分比的权衡。