我使用leaflet.js在地图上显示标记。点击任何标记我正在为该标记添加属性并设置为true。 但是,如果我在鼠标上访问该属性,我将得到未定义..
如何检查标记是否被点击鼠标悬停在标记上。
var _vmarkers = list of Markers;
vm.marker().on('click', function() {
//initially making all false
this._vmarkers.forEach(function (m) {
m.set('isClicked', false);
});
m.set('isClicked', true);
});
vm.marker().on('mouseover', function() {
//printing undefined value even after clicking marker
console.log(m.get('isClicked'));
});
答案 0 :(得分:1)
变量m
的范围限定在您为标记指定属性的循环中。当发生事件时,m未定义 - m
没有真正的方式与当前点击的标记相关联。您需要使用mouse event作为mouseover
处理程序的参数,以确定单击了哪个图层。