gpt4 book ai didi

javascript - gmap3 删除事件监听器

转载 作者:行者123 更新时间:2023-11-29 09:57:51 25 4
gpt4 key购买 nike

我想移除点击添加的事件监听器:

var events = {
click: function () {
// crazy stuff here :- )
}
};

$(where).gmap3(
{
events: events
}
);

需要这样的东西:

$(where).gmap3().removeEventListener('click');

最佳答案

没有意识到 gmap3 是一个包装库。我会删除重复的评论。

浏览 gmaps3 文档,我没有看到任何特定的内容来删除带有库函数的监听器,但您可以使用 action: 'get' 获取标记,然后清除监听器。

这是一个从文档中修改而来的例子。我向标记添加了名称和标记属性,并在该脚本的末尾使用 tag:'2' 从标记中删除了 mouseover 监听器。出于某种原因,这个库变化无常,需要 nametag 属性来找到标记。

$('#test').gmap3({
action: 'init',
options: {
center: [46.578498, 2.457275],
zoom: 5
}
}, {
action: 'addMarkers',
markers: [
{
name : 'marker',
tag: '1',
lat: 48.8620722,
lng: 2.352047,
data: 'Paris !'},
{
name : 'marker',
tag: '2',
lat: 46.59433,
lng: 0.342236,
data: 'Poitiers : great city !'},
{
name : 'marker',
tag: '3',
lat: 42.704931,
lng: 2.894697,
data: 'Perpignan ! GO USAP !'}
],
marker: {
options: {
draggable: false
},
events: {
mouseover: function(marker, event, data) {
var map = $(this).gmap3('get'),
infowindow = $(this).gmap3({
action: 'get',
name: 'infowindow'
});
if (infowindow) {
infowindow.open(map, marker);
infowindow.setContent(data);
} else {
$(this).gmap3({
action: 'addinfowindow',
anchor: marker,
options: {
content: data
}
});
}
},
mouseout: function() {
var infowindow = $(this).gmap3({
action: 'get',
name: 'infowindow'
});
if (infowindow) {
infowindow.close();
}
}
}
}
});


//get the marker by name and tag
var mark = $('#test').gmap3({
action: 'get',
name:'marker',
tag: '2'
});

//remove the event listener
google.maps.event.clearListeners(mark, 'mouseover');

这是此脚本工作的示例:http://jsfiddle.net/5GcP7/ .鼠标悬停在中间的标记上时不会打开信息窗口。

关于javascript - gmap3 删除事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8150643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com