【问题标题】:Why is the 'click' event not fired when the shift key is pressed?为什么按下 shift 键时不触发 'click' 事件?
【发布时间】:2013-06-11 13:37:22
【问题描述】:

我试图了解这些事件是如何在传单中实现的,但我很难理解它是如何工作的。

Here 是用传单制作的地图(来自传单网站上的标准教程)。如果你点击一个状态,它会放大到它。除非你按 shift,而且只按 shift。

下面是相关代码:

function onEachFeature(feature, layer) {
     layer.on({
         mouseover: highlightFeature,
         mouseout: resetHighlight,
         click: zoomToFeature
     });
}

在代码中我找不到 shift 的引用。知道会发生什么吗?

【问题讨论】:

  • 在最小化代码中寻找“shift”,看起来像是被检测到了。该插件可以做到。
  • 你说的很对,刚刚在代码里找到了。

标签: javascript leaflet click dom-events shift


【解决方案1】:

导致该行为的是传单boxzoom 选项。

负责它的code 在传单中

/src/map/handler/Map.BoxZoom.js

文件:

    _onMouseDown: function (e) {
    if (!e.shiftKey || ((e.which !== 1) && (e.button !== 1))) { return false; }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-02
    • 2012-10-10
    • 1970-01-01
    • 1970-01-01
    • 2011-09-19
    相关资源
    最近更新 更多