如何用Inspect Element查看this关键字指向对象(Firefox 135.0.1)
查看onclick事件中this指向的方法
临时修改事件打印this
- 在Firefox的元素面板找到目标
<a>标签,双击onclick属性内容,修改为:console.log(this); game.views.HeadsUpDisplayFactoryView.pickRoom(this); return false; - 点击页面上的这个按钮,控制台会直接输出
this的具体指向——就是当前点击的这个<a>DOM元素 - 测试完记得把
onclick改回原代码,避免影响游戏正常运行
- 在Firefox的元素面板找到目标
用断点调试定位this
- 打开Firefox的调试器面板(快捷键F12切换到调试器),找到「事件监听器断点」,展开「鼠标」分类,勾选
click - 点击页面上的切换房间按钮,代码会自动断在
onclick执行的位置 - 在调试器的「作用域」面板里,就能看到
this对应的具体对象(就是触发点击的<a>元素)
- 打开Firefox的调试器面板(快捷键F12切换到调试器),找到「事件监听器断点」,展开「鼠标」分类,勾选
关于直接传字符串报错的原因
这个pickRoom方法的参数要求是DOM元素,不是字符串。它内部应该是从传入元素的data-room属性里读取房间标识(比如通过this.dataset.room),所以直接传'mixing_room'不符合参数预期才会报错。正确的控制台调用方式应该是先获取到该按钮元素再传入:const targetBtn = document.querySelector('[data-room="mixing_room"]'); game.views.HeadsUpDisplayFactoryView.pickRoom(targetBtn);
内容的提问来源于stack exchange,提问作者Ondrashek06
相关产品推荐
相关产品推荐

