小编Sys*_*emR的帖子

是否有一个很好的jQuery模式来管理初始化?

基本上我想做这样的事情:

$(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  
    }  
});
Run Code Online (Sandbox Code Playgroud)

原因是我可以将所有内容缩小为一个js文件,从而减少了http请求的数量.这个解决方案绝对不优雅,因为每当我添加新页面时我都需要添加另一个'else if'语句.我可以用:

$(document).ready(function() {  
    eval($(body).attr("class") + ".init();");
});
Run Code Online (Sandbox Code Playgroud)

但eval是邪恶的,我不知道使用这种方法的性能影响.

jquery design-patterns

6
推荐指数
1
解决办法
185
查看次数

标签 统计

design-patterns ×1

jquery ×1