gpt4 book ai didi

javascript - 将指向对象方法的指针安全地传递给 google.maps.event.addListener

转载 作者:行者123 更新时间:2023-11-28 01:28:25 25 4
gpt4 key购买 nike

将方法指针传递给 google.maps.event.addListener 时,Google map 似乎会用 google.maps 的实例覆盖其 this 引用。 Map,因此,如果方法在内部引用其任何原型(prototype)成员,它就会变得毫无用处。

长话短说,如果我将 myObj.MyMethod 作为事件回调传递,则在执行时 MyMethod.this 引用将是 的实例>google.maps.Map 而不是 myObj

有没有办法安全地将方法指针传递给 addListener 并保持其所有引用完好无损?

非常感谢!

最佳答案

当您使用addListener()传递方法时,传递的方法对象将在事件发生时丢失,因此由于未定义结果方法,您应该调用类似的方法

google.maps.event.addListener('someEvent', function (){
myObj.MyMethod.call(myObj); //invoked MyMethod with reference myObj

//myObj.MyMethod.apply(myObj); <= you can use apply method also
})

关于javascript - 将指向对象方法的指针安全地传递给 google.maps.event.addListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22436596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com