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();

1 つの質問ですが、毎回 $this を渡さずにクラス インスタンスを取得するより良い方法はありますか? 次のようなイベントをフックしたいと思います。

$(document).ready(setEvents);

setEvents関数内でthisは、「コラプス」のインスタンスである必要があります。これを行う方法はありますか?

前もって感謝します!

4

1 に答える 1

0

みんな、ありがとう。

私が望んでいたもの(シングルトンのWebアプリ/ウィジェット)には十分なOOPであることが判明しました。

それ以来、私はに移りましたAngularJS

于 2014-01-08T06:26:31.020 に答える