0

我在 JavaScript 方面有相当多的经验,对于我正在进行的这个新项目(cms 表示具有盈利概念的博客),我想我会加强它并以 MVC 方式编写 JavaScript。我一直在使用一些骨干和下划线,但它并没有在精神上点击。无论如何,我已经编写了一些代码来处理一些事件/效果,但它不起作用。如果有人能帮我解决问题,我将不胜感激。

// Semi Perfect grade 0 JS - Golden age
//partial View Objects | Events
var pshare_dock = {
    actor: $("#share_dock"),
    drag: function () {
        this.actor.draggable();
    }
}
pshare_dock.expand = function () {
    this.actor.dblclick(function () {
        $(this).toggleClass("share_close");
    });
}
var pmenu = {
    hover: function () {
        $("ul.drop li.drop").hover(function () {
            $(this).find('ul').fadeIn(1);
        }, function () {
            $(this).find('ul').hide();
        })
    },
    navigate: function () {
        $("a.ajx").click(function (e) {
            var link;
            var container = $("#content_pane");
            e.preventDefault();
            link = $(this).attr("href") + "#content_pane";
            container.load(link);
        })
    }
}
var pcontent_pane = {}
var ppost = {}
var pdatabase_entry = {}
//Views
var Homepage = function () {
        this.share_dock = function () {
            new pshare_dock();
        }
        this.menu = function () {
            new pmenu();
        }
        this.content_pane = function () {
            new pcontent_pane();
        }
        this.posts = function () {
            new ppost();
        }
    }
    //Controller
var GoldenAgeRouter = Backbone.Router.extend({
    routes: {
        "!/": "defaultRoute",
        "*actions": "defaultRoute"
    },
    defaultRoute: function (actions) {
        var homeView = function () {
                new Homepage();
            }
    }
})
$(document).ready(function () {
    var Golden_age = function () {
            new Homepage();
        }
})

问题本质上是这有什么问题?

4

1 回答 1

0

You're wrapping your instantiations in an anonymous function but not invoking them:

var Golden_age = new Homepage(); // Invoked.

var Golden_age = function(){ new Homepage(); } // Stored function, not invoked.
于 2012-05-05T18:27:44.010 回答