我想为Google地图添加和删除相同的事件。
因为我在地图上附加了一个监听器'moveend'事件,所以当一个大的infoWindow打开事件时,也会发生'moveend'事件,我不想为此事件运行。 任何想法如何打开和关闭'moveend'事件监听器?
答案 0 :(得分:4)
您可以删除事件侦听器,但必须在添加时返回确切的侦听器。
e.g。
//add moveend listener
var moveendListener = GEvent.addListener(source, "moveend", yourfunction);
//remove moveend listener
GEvent.removeListener(moveendListener);
或
//remove all listeners associated with an event
GEvent.clearListeners(source, "moveend") ;
编辑:另一种选择是让侦听器在不同条件下调用的函数表现不同。
e.g。
function moveendHandler() {
if (isWhateverActive()) return;
//code to run if whatever is not active
}