谷歌地图API,回调是对象的一个方法
Google maps API, callback is a method of object
我把这里的每一行代码都去掉了,除了下面这行:
show = foo.show = function () {
alert("test");
};
现在,如果我以这种方式运行maps API,它就可以工作了:
foo.display = function() {
this.elem = document.getElementById('fooBox');
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "http://maps.google.com/maps/api/js?sensor=false&callback=show";
document.body.appendChild(script);
};
但是当我试图通过callback=foo.show
调用它时,它失败了:
foo.display = function() {
this.elem = document.getElementById('fooBox');
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "http://maps.google.com/maps/api/js?sensor=false&callback=foo.show";
document.body.appendChild(script);
};
唯一的错误,我可以从WebKit检查器是Uncaught TypeError: Cannot call method 'show' of undefined
。
我是新的谷歌地图API,但我认为方法不重要吗?我肯定在什么地方见过。我哪里做错了?
foo
是否声明为var
?如果是,则全局作用域无法访问它。添加如下声明:
foo = {};
foo.show = function () {
...
};
...
到你的代码中,它可能会纠正这个问题。WebKit的响应表明,在调用show()
时,变量foo
不在作用域中。
相关文章:
- 将一个方法转换为promise:Nodejs
- 如何在所有ng点击事件AngularJS上启动一个方法
- 创建一个方法,通过一个窗口进行迭代并获取Titanium中的所有控件
- 如何创建一个方法来验证数组的范围
- 如何将一个方法延迟到另一个方法首先完成,javascript
- 在Javascript中对类的每个实例调用一个方法
- 如何重写一个方法,并且仍然能够在重写的方法中使用基方法
- NodeJS-从同一文件中的另一个方法调用一个方法
- 有没有任何情况下,一个方法不应该是原型方法
- Jasmine间谍的函数称为一个方法
- 在带有参数列表的表单submit上调用一个方法
- 方法不在另一个方法内部调用
- 在 1 个方法中增加变量值会触发另一个方法的 for 循环,欢迎任何建议
- 如何使用javascript express node将变量从控制器中的一个方法公开.js到另一个控制器.js
- 如何在javascript中将变量的值分配给另一个方法
- 在浏览器关闭时,单击确认对话框中的“停留在页面上”,执行一个方法
- 使用一个方法在c#中启动其他方法
- 如何在Ember中转换到另一个路由时调用一个方法
- 在typescript中重载一个方法
- 我可以在setInterval函数中放入一个方法作为参数吗