Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 传单-单击将类添加到标记图标_Javascript_Leaflet_Marker - Fatal编程技术网

Javascript 传单-单击将类添加到标记图标

Javascript 传单-单击将类添加到标记图标,javascript,leaflet,marker,Javascript,Leaflet,Marker,我有一张简单的传单地图和一些标记。为了给用户更好的体验,我想突出显示单击的标记。最好和最简单的方法是,我可以在单击的标记中添加一个额外的类来处理css。但我不知道怎么做,我发现所有的问题都没有回答,或者我只是不明白 Javascript //Set the marker icon var markerIcon = L.vectorIcon({ className: 'markerIcon', svgHeight: 30,

我有一张简单的传单地图和一些标记。为了给用户更好的体验,我想突出显示单击的标记。最好和最简单的方法是,我可以在单击的标记中添加一个额外的类来处理css。但我不知道怎么做,我发现所有的问题都没有回答,或者我只是不明白

Javascript

//Set the marker icon

    var markerIcon = L.vectorIcon({
            className: 'markerIcon',
            svgHeight: 30,
            svgWidth: 30,
            shape: {r: '15', cx: '15', cy: '15'},
            style: {
                fill: '#73B0E1'
            }
    });


//Populate the map with markers

    var markers = L.markerClusterGroup({});
    if(mapID == 'mapPublic') {
        markers.addLayer(L.marker([50, 8], {icon: markerIcon})).on('click', onClick);
        markers.addLayer(L.marker([50, 8.1], {icon: markerIcon})).on('click', onClick);
        markers.addLayer(L.marker([50, 8.2], {icon: markerIcon})).on('click', onClick);
        markers.addLayer(L.marker([50.1, 8.1], {icon: markerIcon})).on('click', onClick);
    }

    map.addLayer(markers);


//Onclick Function for the markers

    function onClick() {}

如何向标记添加第二个类以在css中使用它?我已经尝试了
这个.classList.add('activeMarker')
,但是没有成功,我想是因为传单标记逻辑。

标记不是DOM对象,所以尝试向其添加类是没有用的

如果您试图设置图标的样式,可以使用

function onClick(e) {

e.layer._icon.classList.add('activemarker');
}

您好,您可以为每个marher添加事件mouseover和mouseout,原因是什么?我只想在单击时添加第二个类。谢谢您的提示。但是如果我添加你的代码,我只会得到一个错误。如果我使用类列表,则“未捕获的TypeError:无法读取未定义的”属性“classList”;如果我使用AddClass,则“未捕获的TypeError:L.DomUtil.AddClass不是函数”。有什么建议吗?用完整的onClick功能更新了我的答案。你是最可爱的!它正在工作。您是否有一个网站详细解释了带有“e”的内容?非常感谢。传单事件处理程序使用事件对象的参数调用,您可以检查该事件对象以与事件上下文交互。看见