我现在正在完成我的项目,看到每页都有很多javascript代码。它不包含在“.js”文件中,而是在页面本身编码。我认为这是一个坏主意,所以现在我试图将它们全部放在一个.js文件中并将其包含在每个页面中。
我现在面临的唯一问题是:某些函数仅在某些页面上调用,并且取决于包含jquery插件。然而,并非所有页面都需要插件。
实施例: 在主页上,我需要使用City Dropbox链接Country Dropbox,因此我需要jquery的jchained.js插件。我需要使用的代码是:
$(function(){
$("#city").chained("#country");
});
当我将此函数添加到.js文件中时,我打开一个不需要链接dropbox的页面,我在逻辑上会出错:
TypeError:$(“#city”)。chained不是函数
因此,如果我理解正确,为了使用.js文件,我的所有不同的函数用于不同的插件,我需要包括所有页面的所有插件?
感谢您的想法&帮助
答案 0 :(得分:1)
这完全取决于代码的结构方式或当前代码的复杂程度。
立即解决方案,
只有在该主体元素上具有必需的id时,才执行针对该特定页面的代码。 类似的东西:
if($('body')。attr('id')==“home”){ / *在这里添加主页JS * / }
你可以试试这个。
如果我错了,请纠正我。
答案 1 :(得分:1)
就个人而言,我认为您不应该担心包含很多.js文件,这是Web开发的一部分。另一种选择,虽然稍微繁琐,但你可以检查存在的函数(如果包含了插件.js),然后调用它,如果它存在:
if(typeof yourFunctionName == 'function') {
yourFunctionName();
}