对于问题标题感到抱歉,很难找到一个好的...
我有一个类来处理谷歌地图,我的一个方法是创建一个自定义控件:
// 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();
});
所以,我的问题是,如何将我的开放模态窗口函数附加到谷歌地图事件监听器?
答案 0 :(得分:1)
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();
});
这里你想要执行传入函数