在这种情况下,我尝试使用关卡菜单,但是 this.innerText 不起作用
function levelJump() {
console.log(this);// Window {window: Window, self: Window, document: document, name: "", location: Location, …}
level_index = this.innerHTML;
console.log(this.innerText); // undefined
goToLevel(level_index);
}
const levelJumperButtons = document.querySelectorAll('.level-jumper');
console.log(levelJumperButtons[10].innerText); // 11
levelJumperButtons.forEach((item) => {
item.addEventListener('click', () => levelJump());
});
最佳答案
item.addEventListener('click', () => levelJump());
应该是:item.addEventListener('click', levelJump);
因为在一个箭头函数,this
绑定(bind)不会改变它在箭头函数之外的内容,您需要将 this
绑定(bind)到 item
元素这会导致触发 click
事件。
关于javascript - this.innerText 显示未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66376223/