jQueryを使用して、Javascript「クラス」の特定のインスタンスの「メソッド」にイベントをバインドしようとしています。要件は、イベント ハンドラーで "this" キーワードを使用して、最初にイベントをバインドしたインスタンスを参照できる必要があることです。
より詳細には、次のような「クラス」があるとします。
function Car(owner) {
this.owner = owner;
}
Car.prototype = {
drive: function() {
alert("Driving "+this.owner+"s car!");
}
}
そしてインスタンス:
var myCar = new Car("Bob");
たとえば、ボタンをクリックするたびに、車の「クラス」の myCar インスタンスでドライブの「メソッド」が呼び出されるように、イベントを車のドライブの「メソッド」にバインドしたいと考えています。
これまで、「メソッド」で「this」キーワードを使用してインスタンス メンバーに快適にアクセスできるクロージャを作成するために、次の関数を使用してきました。
function createHandler( obj, method ) {
return function( event ) {
return obj[method](event||window.event);
}
}
私は次のようにそれを使用しました:
document.getElementById("myButton")
.addEventListener("click", createHandler(myCar,"drive"));
JQueryでこのようなことを達成するにはどうすればよいですか?
私は具体的に「これ」を指定されたインスタンスに関連付けることについて質問しています。これは、私が自分で処理できる他のクラフトです。