Javascript でプロトタイプの継承を使用しようとしています。以下の私のコードの問題は、ボタンがクリックされMyNamespace.MyObj.myEventHandler
て呼び出されたときに、 の値がthis
のインスタンスでMyNamespace.MyObj
はなく、クリックされたボタンであることです。
私は物事を間違って構造化していますか (より良い方法はありますか)? this
呼び出し元のボタンではなく、オブジェクトのインスタンスであることをどうにかして確認できますか?
var MyNamespace.MyObj = function(myform) {
this.myform = myform;
jQuery('.mybutton', this.myform).click(this.myEventHandler);
};
MyNamespace.MyObj.prototype = {
myEventHandler: function() {
this.myform.get(0).submit();
}
};
jQuery(document).ready(function() {
new MyNamespace.MyObj(jQuery('#myform'));
});
これは、私がプロトタイプの継承を学ぶために使用している非常に単純な例です。上記のコードの実際の機能は jQuery で簡単に実行できること、またはオブジェクト リテラルまたはモジュール パターンを使用できることを認識していますが、現時点では特定の機能を実装するのではなく、プロトタイプの継承を学ぶことに本当に興味があります。 .