this.innerText显示未定义

在这种情况下,我尝试执行级别菜单,但是 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绑定不会改变它在箭头函数之外的内容,您需要this绑定到item导致click事件被触发的元素。


以上是this.innerText显示未定义的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>