如何在事件监听时在两个函数之间切换的标记中使用事件监听器
How do you use an event listener in markers whose event toggles between two functions when listened to?
我有这段代码运行良好:
marker.addListener('click', function(){
showInfo(marker, content);
});
marker.addListener('dblclick', function(){
hideInfo();
});
我使用两个事件监听器,一个监听' click ',另一个监听' dblclick '。然而,我只想使用一个事件监听器来监听"点击"并实现相同的结果。我如何使用一个事件"点击"来切换showInfo()
和hideInfo()
功能?
您可以使用全局变量来确定信息是可见的还是隐藏的。
...
var isInfoVisible;
...
然后marker.addListener('click', function(){
if (isInfoVisible){
isInfoVisible = false;
hideInfo();
} else {
isInfoVisible = true;
showInfo(marker, content);
}
});
或:
如果你使用infowindow,你可以检查它是否附在地图上。
marker.addListener('click', function(){
if (infowindow.map != null){
infowindow.close();
} else {
infowindow.setContent(content);
infowindow.open(map, marker);
}
});
https://jsfiddle.net/oxh0gq5w/相关文章:
- 在下拉式javascript事件监听器中选择时触发事件
- 如何在音频元素上使用React媒体合成事件监听器
- Javascript事件监听器让我很困惑
- javascript的事件监听器将下拉列表转换为输入按钮
- 组合类和事件监听器:`this`关键字
- 将事件监听器添加到画布时出错
- 如何通过javascript触发事件监听器
- 通过事件监听器在circle的文本匹配id上修改circle元素
- 动态添加javascript事件监听器,做一些无法解释的事情
- 事件处理程序&事件监听器彼此独立
- 为什么我在谷歌闭包中编写的事件监听器不起作用
- 如何在JS中使用事件监听器
- 为什么jQuery选择事件监听器会多次触发
- 为什么不'我的手机上没有设备就绪的事件监听器
- 何时在 Cocos2d-js 3.2 中注销事件监听器和定时回调
- javaScript-我们如何将一个事件监听器设置为另一个事件监听器的从属
- 微信/微信JavaScript桥(WeixinJSBridge)使用微信JSBridgeReady事件监听器并函数作为参
- ExtJS拖拽事件监听器在Chrome和Firefox上的工作方式不同
- 在这段代码中,复制自雄辩javascript的ch15,keyup事件监听器做什么
- 向音频元素添加事件监听器;不起作用