这个问题在这里已经有了答案:
How do I pass the this context to a function?
(5 个回答)
How does the “this” keyword work?
(21 个回答)
去年关闭。
我有一个父 div 的事件监听器和一个使用相同功能的按钮。而带有父 div 的那个,如果父区域是单击而不是它的子区域,我只希望它进入我的功能。这是我到目前为止:
btn.addEventLister("click", myFunction);
div.addEventListener("click", function (e) {
if(e.currentTarget === e.target){
myFunction();
}
});
function myFunction() {
var type = this.getAttribute('data-type');
// do something here
}
btn 监听器有效,但 div 监听器以某种方式不起作用。不知何故,它似乎无法识别“这个”。知道如何解决这个问题吗?
最佳答案
你需要明确地传递按钮......例如
myFunction.call(btn);
这段代码基本上调用了函数设置
this
至 btn
关于javascript - 如何将此元素从事件监听器的内部函数传递给另一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62363897/