我遇到传单及其活动的问题mouseout。
在下面的代码中,有时(特别是快速移动鼠标时),不会触发 mouseout 事件。不会Mouse out !出现在控制台中。
我发现这个行为与图标替换有关。layer.setStyle每次都很简单。(这里我使用leaflet-gpx插件,但它的工作方式与leaflet 的 IconUrl 或 ShadowUrl相同)
// This works every time
gpxPath.on('mouseover', function (e) {
var layer = e.target;
layer.options.marker_options.startIconUrl = 'myHoverIconStartUrl';
layer.options.marker_options.endIconUrl = 'myHoverIconEndUrl';
layer.reload();
});
gpxPath.on('mouseout', function (e) {
console.log('Mouse out !')
var layer = e.target;
/* those two lines below cause the issue */
layer.options.marker_options.startIconUrl = '';
layer.options.marker_options.endIconUrl = '';
layer.reload();
});
Run Code Online (Sandbox Code Playgroud)
我知道 mouseout 事件有时会导致这样的问题,但在这种特殊情况下,我被迫使用传单事件,而且我有点没有想法。