私は何か間違ったことをしているのかもしれませんが、オブジェクト指向プログラミングを Javascript に適用しようとすると、興味深い動作が見つかりました。次のことを考慮してください
function Bug(element) {
this.focusedCell = null;
element.addEventListener('click', this.onClick, true);
};
Bug.prototype.onClick = function(event){
console.log("this is: ");
console.log(this);
};
コンソールからメソッドを呼び出すと、「this」の正しいインスタンスが表示されますが、ドキュメント内の要素をクリックすると、インスタンスの代わりにドキュメント要素が表示されます。だから...少なくとも私がやっているように、インスタンスメソッドでイベントリスナーを使用することはおそらく良い考えではありません。
質問は次のとおりです。
呼び出しでインスタンスを保持しながら、javascript オブジェクトのインスタンス メソッドを呼び出すこのようなイベント リスナーを持つことは可能ですか?
これを行うためのより良いパターンはありますか?
編集:Chrome以外でこれを試したことはありません。しかし、動作は同じだと思います。