gpt4 book ai didi

javascript - javascript 中的对象由此引用但在使用事件监听器时不引用

转载 作者:行者123 更新时间:2023-11-28 05:03:42 25 4
gpt4 key购买 nike

为什么 this 没有引用对象 myObject

当我执行 console.log(this) 时返回 undefined... 为什么?

Javascript:

var myObject = {

product: document.getElementById('product'),

button: document.getElementById('btn'),

productView: function(){
if (this.product.className === 'grid') {
this.product.className = 'list';
} else {
this.product.className = 'grid';
}
},

clickHandler: function(e) {
var o = this;
console.log(this);
o.productView();
e.preventDefault();
},

init: function (){
this.button.addEventListener('click', this.clickHandler, false);
}
};

myObject.init();​

demo

非常感谢

最佳答案

事件处理程序方法中的 .this 指的是被单击的对象。使用类似 var self = myObject; 的东西,然后使用 self 而不是 this

关于javascript - javascript 中的对象由此引用但在使用事件监听器时不引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11277585/

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