как «отключить» функцию javascript после однократного запуска
Таким образом, у меня есть две кнопки HTML, каждая из которых выполняет свою функцию (обе функции ниже). По сути, вы нажимаете одну из двух кнопок, чтобы добавить на карту список действий Google Maps. Я успешно получил это на работу. Единственная проблема заключается в том, что я хочу, чтобы actionlistener был доступен одним кликом. После этого одного клика я хочу, чтобы пользователь нажал другую кнопку, прежде чем actionlistener снова «прослушивает». Я надеюсь, что в этом есть смысл.
function addLaunch() {
google.maps.event.addListener(map, "click", function(event) {
marker = new google.maps.Marker({
position: event.latLng,
map: map
});
infowindow.open(map, marker);
});
};
function addFishing() {
google.maps.event.addListener(map, "click", function(event) {
marker = new google.maps.Marker({
position: event.latLng,
map: map
});
fishinfowindow.open(map, marker);
});
};
Так что я просто попробовал это:
function addLaunch(setBoolean) {
var clicked = new Boolean(false);
clicked.boolValue = setBoolean;
if (clicked = true) {
google.maps.event.addListener(map, "click", function(event) {
marker = new google.maps.Marker({
position: event.latLng,
map: map
});
infowindow.open(map, marker);
clicked.boolValue = false;
});
}
else {
google.maps.event.clearListeners(map, "click");
}
};
и это не сработало ..... Пожалуйста, направьте меня в правильном направлении ... (Кстати, кнопка передала "true" в setBoolean ".
Это работает, чтобы отключить все actionlisteners после первого щелчка. Но он не сбрасывается после повторного нажатия кнопки.
var temp = true;
function addLaunch() {
if (temp == true) {
google.maps.event.addListener(map, "click", function(event) {
marker = new google.maps.Marker({
position: event.latLng,
map: map
});
infowindow.open(map, marker);
temp = false;
if (temp == false) {
google.maps.event.clearListeners(map, "click");
}
});
}
}