可能重复:
how to “disable” javascript function after being ran once
我有两个按钮,点击后,运行以下两个功能之一:
function addlaunchMark() {
google.maps.event.addListener(map, "click", function(event) {
marker = new google.maps.Marker({
position: event.latLng,
map: map
});
infowindow.open(map, marker);
google.maps.event.addListener(infowindow, "closeclick", function() {
marker.setMap(null);
});
});
};
function addfishingMark() {
google.maps.event.addListener(map, "click", function(event) {
marker = new google.maps.Marker({
position: event.latLng,
map: map
});
fishinfowindow.open(map, marker);
google.maps.event.addListener(fishinfowindow, "closeclick", function() {
marker.setMap(null);
});
});
};
所以当有人点击其中一个按钮时会发生这种情况,它会打开该功能下的动作监听器。如果您单击其他按钮,您已单击的按钮将保持打开状态。因此,当您再次单击时,您将获得两个标记和两个infoWindows。在单击其他按钮后禁用功能或活动侦听器的最简单方法是什么?
答案 0 :(得分:0)
我认为在那种情况下:
addListenerOnce(instance:Object, eventName:string, handler:Function)
会起作用
更多信息: https://developers.google.com/maps/documentation/javascript/reference#event