egj*_*mn1 0 javascript listener
我有一个 javascript 代码,我向我的对象添加了一个事件侦听器。当我单击它时,它说我的函数未定义。这是我的js代码:
class Plane {
constructor(myMap, myPos, listener) {
this.createMarker(myMap, myPos);
this.clickListner = listener;
}
createMarker(myMap, myPos) {
var icon = {
url: "../Images/Plane.png", // url
scaledSize: new google.maps.Size(30, 30), // scaled size
origin: new google.maps.Point(0, 0), // origin
anchor: new google.maps.Point(15, 15) // anchor
};
this.marker = new google.maps.Marker({
map: myMap,
icon: icon,
position: myPos
});
this.marker.addListener('click', function () { this.pressed(); }, false);
}
pressed() {
this.clickListner.onClick(this);
}
.
.
.
Run Code Online (Sandbox Code Playgroud)
当我按下标记时,我收到此错误:
Uncaught TypeError: this.pressed is not a function
Run Code Online (Sandbox Code Playgroud)
为什么不起作用?
没有使用正确的上下文,您可以使用箭头函数解决这个问题
this.marker.addListener('click',() => { this.pressed(); }, false);
^
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49 次 |
| 最近记录: |