これからは、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
は、「コラプス」のインスタンスである必要があります。これを行う方法はありますか?
前もって感謝します!