这应该是替代路线的路线选择器。您单击路线并选择自己。
我试图摆脱“魔法圈”:)几天,因为经过几天和几天的调试后我发现map.clearLayers()方法以某种方式阻止了“点击”事件。
以下是这种情况:当您点击其中一条路线时,在这种情况下,您会收到警告“点击图层”。但是当你再次点击另一条路线,甚至是同一条路线时,“点击”不起作用。
所有其他事件,如doubleclick,mouseout,mousein等正在运行,但是点击不行...而且mouseup,mousedown也不起作用,这可能解决了这个问题,但是 - 没有:(
var $li = $(li);
route.idx = i;
$li.data('route', route);
$li.data('routes', routes);
$li.on('click', function () {
var $this = $(this);
$this.siblings('li').removeClass('active');
$this.addClass('active');
renderCarOrWalkRoute($this.data('routes'), $this.data('route').idx);
});
$alternatives.find('.routes').append($li);
}
for (var i = 0; i <= route.idx; i++) {
alternativeRoute[i] = renderAlternativeRoute($li.data('routes'), i);
}
$($alternatives.find('li')[0]).trigger('click');
UI.resetScrollPosition();
alternativeRoute[0].on('click',function (e) {
UI.alert("Layer clicked!");
});
在方法 renderCarOrWalkRoute 中,有 map.clearLayers(),但如果我发表评论,则在选择其他路线时不会清除路线。
有没有人遇到通过Leaflet以任何方式阻止“点击”?
谢谢!
答案 0 :(得分:0)
Stocklet上没有map.clearLayers()
方法,版本0.7.7或1.0.0-rc.3。
一旦你的脚本遇到无法执行的指令,一些(如果不是全部)你的事件监听器可能会中断。
如果您有自定义clearLayers()
功能,那么如果您需要进一步支持,则应该在问题中分享代码。