0

从现在开始,我正试图让我的 JS 代码保持良好和 OOP。我想我已经掌握了窍门,您能否检查下面的代码并让我知道是否有任何明显的错误?

/*------- collapser -------*/
function Collapse(){
    var $this = this;
    $(document).ready(function(e){
        $this.setEvents($this, e);
    });
}
Collapse.prototype.setEvents = function($this, e){    
    $('.collapse>div').hide();
    $('.collapse>h1').click(function(e){
        $this.show($this, e);
    });
}
Collapse.prototype.show = function($this, e){
    var element = e.originalEvent.srcElement.parentNode;
    $(element).children("div").slideToggle();
}
var collapse = new Collapse();

一个问题,有没有更好的方法来获取类实例而无需每次都传递 $this ?我很想挂钩这样的事件:

$(document).ready(setEvents);

而在setEvents函数中,有this一个“collapser”的实例。有没有办法做到这一点?

提前致谢!

4

1 回答 1

0

谢谢大家。

事实证明,对于我想要的(单例网络应用程序/小部件)来说,OOP 已经足够了。

从那以后,我搬到了AngularJS.

于 2014-01-08T06:26:31.020 回答