使用googlemaps事件侦听器运行外部函数的类方法
Class method with google maps event listener run external function
很抱歉问题标题,很难找到好的。。。
我有一个类来处理谷歌地图,我的方法之一是创建一个自定义控件:
// method:
Map.prototype.addButton = function (order, onCLickEvent) {
var that = this;
var buttonUI = $.get('/templates/order-button.html', function (data) {
var button = $(data)[0];
$(button).attr('id', order.id);
$(button).find('span:eq(1)').text('#' + order.id);
google.maps.event.addDomListener(button, 'click', function() {
onCLickEvent;
});
});
}
如您所见,我添加了一个click
事件。单击应该会打开一个模式窗口。
当我使用我正在做的方法时:
var map = new Map();
map.addButton(order, openMyModal());
不幸的是,页面加载后它就打开了模态。
我也试过这样做:
var map = new Map();
map.addButton(order, function() {
openMyModal();
});
所以,我的问题是,如何将我的开放模式窗口函数附加到googlemaps事件侦听器?
var map = new Map();
map.addButton(order, openMyModal());
应该是
var map = new Map();
map.addButton(order, openMyModal);
您希望传递函数,而不是函数的结果作为第二个参数
和
google.maps.event.addDomListener(button, 'click', function() {
onCLickEvent;
});
应该是
google.maps.event.addDomListener(button, 'click', function() {
onCLickEvent();
});
在这里,您想要执行传入的函数
相关文章:
- 使构造函数参数具有ES6类方法的特权
- 从类方法中的 ajax post 函数回调函数更改 javascript 类属性
- 如何将类方法设置为等于多个函数?-Javascript
- 有没有一种方法可以在泛型(<T>)函数/类(Typescript)中获取泛型类型的名称
- Typescript从类的构造函数调用方法
- 当使用Q/promises/异步函数时,如何将一个值从一个类方法返回到另一个类
- ES6 类方法不是函数
- ES6:应用函数作为类方法
- 从 javascript 函数获取类方法
- Javascript子类化,超级构造函数和使用自定义扩展会丢失基类方法
- 从构造函数调用类方法
- 如何在包含函数的方法中使用类变量
- 在类中使用Ecmascript 6箭头函数作为方法的正确方法是什么
- 函数内调用的HTML5 JavaScript画布动画类方法
- 如何从JavaScript函数中调用PHP类方法
- Javascript原型链接超类构造函数和方法调用
- ES6 Javascript类-定义一个现有函数的类方法
- 如何将ES6类方法分配给函数
- 在TypeScript中重写JavaScript函数类中的方法
- 如何在c#(mvc)的类方法中获取JavaScript函数的返回结果