【发布时间】:2010-02-20 07:39:31
【问题描述】:
基本上我想做这样的事情:
$(document).ready(function() {
if ($(body).attr("class") === "HomePage") {
HomePage.init(); //bind events for home page (Crockford's module pattern)
} else if ($(body).attr("class") === "AboutPage") {
AboutPage.init(); //bind events for about page
}
});
原因是我可以将所有内容压缩到一个js文件中,从而减少http请求的数量。这个解决方案绝对不优雅,因为每当我添加新页面时,我都需要添加另一个“else if”语句。我可以使用:
$(document).ready(function() {
eval($(body).attr("class") + ".init();");
});
但是 eval 是邪恶的,我不知道使用这种方法对性能的影响。
【问题讨论】:
-
我也一直在尝试解决这个问题。我问了一个可能对您有帮助的相关问题:stackoverflow.com/questions/2135654/…