小编Hug*_* M.的帖子

更改 iconUrl 时未触发 mouseout 事件的传单

我遇到传单及其活动的问题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 事件有时会导致这样的问题,但在这种特殊情况下,我被迫使用传单事件,而且我有点没有想法。

javascript jquery mouseout leaflet

2
推荐指数
1
解决办法
865
查看次数

标签 统计

javascript ×1

jquery ×1

leaflet ×1

mouseout ×1