JQuery Flot:按住 Shift 键平移

JQuery Flot: Just pan when holding the Shift key

在 flot 中,我想在按下 shift 键的同时平移图形。 我尝试通过以下方式更改 flot.navigate 插件(只是更改了 bindEvents 函数):

if (o.pan.interactive) {
     $(document).keydown(function(e){
          if(e.shiftKey == 1){
            eventHolder.bind("dragstart", { distance: 10 }, onDragStart);
            eventHolder.bind("drag", onDrag);
            eventHolder.bind("dragend", onDragEnd);
          }
       })
      }

这在我第一次按下 shift 键时有效,但由于某种原因浏览器没有响应。

使用您的代码,绑定仅在按下 shift 时完成,而不是拖放本身。而是像这样更改 onDragStart(e) 函数:

原文:

    function onDragStart(e) {
        if (e.which != 1)  // only accept left-click
            return false;
        var c = plot.getPlaceholder().css('cursor');
        ...

新:

    function onDragStart(e) {
        if (e.which != 1 || e.shiftKey != 1)  // only accept left-click + pressed shiftkey
            return false;
        var c = plot.getPlaceholder().css('cursor');
        ...