Javascript Google Maps api addDomListener更改此上下文

达尔文科技

我正在使用GoogleMaps API进行一些工作,并创建了一个模块来保存一些自定义函数:

myFuncs = {
  doStuff: function() {
     console.log('I am doing stuff');
  },
  callStuff: function() {
     console.log('I am calling doStuff');
     this.doStuff();
  }
}

这似乎符合我的需求。但是当我这样做时:

google.maps.event.addDomListener(document.getElementById('myButton'), 'click', myFuncs.callStuff);

单击按钮时,出现以下错误:

Uncaught TypeError: Object #<HTMLButtonElement> has no method 'doStuff'

我在这里了解到,this由于绑定到Dom对象而使的上下文发生了变化,但我不完全了解正在发生的事情或如何解决它。

东沃尔夫

尝试将函数调用包装在匿名函数中。例如:

google.maps.event.addDomListener(document.getElementById('scrollToForm'), 'click', function(){myFuncs.callStuff()});

我只是运行它,它似乎正在工作。


编辑

呼应this当你不使用匿名函数说明你在上下文OPF已经绑定到任何物体。从匿名函数中触发它会将您的上下文设置为要调用的对象。不知道这是否是最好的方法,但是它确实有效。除了使用之外,this您可以显式调出该对象。IE

myFuncs = {
  doStuff: function() {
     console.log('I am doing stuff');
  },
  callStuff: function() {
     console.log('I am calling stuff');
     myFuncs.doStuff();
  }
}

这消除了上下文中的任何混乱。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Google Maps API的JavaScript框架

来自分类Dev

流星Google Maps JavaScript API

来自分类Dev

Google Maps Javascript API与Google Maps Embed API

来自分类Dev

JavaScript Google Maps API-更改标记的标题

来自分类Dev

更改Google Maps API语言

来自分类Dev

Google Maps API / JavaScript居中变量

来自分类Dev

Google Maps Javascript API基于云的样式

来自分类Dev

Google Maps API Javascript;TypeError a为null

来自分类Dev

Google Maps Javascript API / Streetview FOV

来自分类Dev

无法获取Google Maps JavaScript API密钥

来自分类Dev

Google Maps Javascript API 204错误

来自分类Dev

Google Maps Javascript API 未呈现

来自分类Dev

Google Maps JavaScript API错误:启用了Google Maps JavaScript API的ApiNotActivatedMapError

来自分类Dev

更改地图边界Google Maps API

来自分类Dev

更改Google Maps JavaScript API v3以外的地图不透明度

来自分类Dev

更改Google Maps JavaScript API v3以外的地图不透明度

来自分类Dev

Google Maps JavaScript API v3更改标记并添加卫星视图

来自分类Dev

Google Maps / Places Javascript API自动补全限制类型

来自分类Dev

带有Rhomobile的Google Maps Javascript V3 API

来自分类Dev

Google Maps Javascript API填充建筑物的颜色

来自分类Dev

Google Maps API javascript标签未通过验证

来自分类Dev

将半径滑块添加到Google Maps JavaScript API

来自分类Dev

Google Maps JavaScript API:动态设置KML层样式

来自分类Dev

从QWebView运行JavaScript函数* Google Maps API,PyQT *

来自分类Dev

javascript google maps API encoding.decodePath返回无效的LatLng

来自分类Dev

地图标记未出现(Javascript Google Maps API)

来自分类Dev

在点击的Google Maps JavaScript API上放置标记

来自分类Dev

Google Maps Javascript API V3中的旋转标记

来自分类Dev

Google Maps-直接从javascript调用API或使用SDK

Related 相关文章

  1. 1

    Google Maps API的JavaScript框架

  2. 2

    流星Google Maps JavaScript API

  3. 3

    Google Maps Javascript API与Google Maps Embed API

  4. 4

    JavaScript Google Maps API-更改标记的标题

  5. 5

    更改Google Maps API语言

  6. 6

    Google Maps API / JavaScript居中变量

  7. 7

    Google Maps Javascript API基于云的样式

  8. 8

    Google Maps API Javascript;TypeError a为null

  9. 9

    Google Maps Javascript API / Streetview FOV

  10. 10

    无法获取Google Maps JavaScript API密钥

  11. 11

    Google Maps Javascript API 204错误

  12. 12

    Google Maps Javascript API 未呈现

  13. 13

    Google Maps JavaScript API错误:启用了Google Maps JavaScript API的ApiNotActivatedMapError

  14. 14

    更改地图边界Google Maps API

  15. 15

    更改Google Maps JavaScript API v3以外的地图不透明度

  16. 16

    更改Google Maps JavaScript API v3以外的地图不透明度

  17. 17

    Google Maps JavaScript API v3更改标记并添加卫星视图

  18. 18

    Google Maps / Places Javascript API自动补全限制类型

  19. 19

    带有Rhomobile的Google Maps Javascript V3 API

  20. 20

    Google Maps Javascript API填充建筑物的颜色

  21. 21

    Google Maps API javascript标签未通过验证

  22. 22

    将半径滑块添加到Google Maps JavaScript API

  23. 23

    Google Maps JavaScript API:动态设置KML层样式

  24. 24

    从QWebView运行JavaScript函数* Google Maps API,PyQT *

  25. 25

    javascript google maps API encoding.decodePath返回无效的LatLng

  26. 26

    地图标记未出现(Javascript Google Maps API)

  27. 27

    在点击的Google Maps JavaScript API上放置标记

  28. 28

    Google Maps Javascript API V3中的旋转标记

  29. 29

    Google Maps-直接从javascript调用API或使用SDK

热门标签

归档