第一个和第二个代码有效,但第三个代码不起作用?我试图理解它,但找不到任何东西。如果有人可以解释它或参考一些文档,我非常感谢!谢谢!
工作正常:
<p id="p" onclick="myFunc(this)">foo</p>
<script>
function myFunc(el){
console.log(el.innerHTML) // outputs "foo"
}
</script>
也工作正常:
<p id="p">foo</p>
<script>
document.querySelector('#p').addEventListener('click', function (event) {
console.log(this.innerHTML);
});
</script>
不起作用:
<p id="p">foo</p>
<script>
document.querySelector('#p').addEventListener('click', (this) => {
console.log(this.innerHTML);
});
</script>
第二个和第三个代码之间的唯一区别是,第二个代码调用“function(event){}”,第三个代码调用“(this)=>{}”。我以为“this”会指向节点,但它似乎指向鼠标事件。我说的对吗?
为什么“this”在“onclick=”myFunc(this)“中是一个有效的参数,但在”addEventListener('click', (this){})“中却不是?
小唯快跑啊
森栏
慕神8447489
相关分类