gpt4 book ai didi

javascript - 如何将事件处理程序绑定(bind)到 jQuery 中的实例?

转载 作者:行者123 更新时间:2023-11-30 23:54:16 25 4
gpt4 key购买 nike

我正在尝试使用 jQuery 将事件绑定(bind)到 Javascript“类”的特定实例的“方法”。要求是我在事件处理程序中应该能够使用“this”关键字来引用我最初将事件绑定(bind)到的实例。

更详细地说,假设我有一个“类”,如下所示:

function Car(owner) {
this.owner = owner;
}
Car.prototype = {
drive: function() {
alert("Driving "+this.owner+"s car!");
}
}

还有一个实例:

var myCar = new Car("Bob");

我现在想将一个事件绑定(bind)到我的汽车的驱动“方法”,这样每当我单击一个按钮时,就会在汽车“类”的 myCar 实例上调用驱动“方法”。

到目前为止,我一直在使用以下函数来创建一个闭包,该闭包允许我在“方法”中使用“this”关键字轻松访问实例成员。

function createHandler( obj, method ) {
return function( event ) {
return obj[method](event||window.event);
}
}

我的使用方法如下:

document.getElementById("myButton")
.addEventListener("click", createHandler(myCar,"drive"));

如何使用 JQuery 完成类似的事情?

我特别询问如何将“this”与指定实例关联起来,周围的其他问题我可以自己处理。

最佳答案

只需使用匿名函数:

$("#myButton").click(function() { myCar.drive(); });

关于javascript - 如何将事件处理程序绑定(bind)到 jQuery 中的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/117361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com