Keydown 和 Mouse down 在一起,不同的动作

Keydown and Mouse down together, different actions

我正在尝试更改不同操作上的光标。本质上就像平移地图。 默认值:标准指针光标 Shift 按下:抓取光标 Shift + 左键单击(hold/dragging):抓取光标

但是,这在我开始移动之前效果很好,然后我的光标跳回到抓取而不是停留在抓取上。我做错了什么?

$(document).keydown(function(event){
  //spacebar = 8
    if (event.keyCode == 16) {

        $('#mysvg').css('cursor', '-webkit-grab');

        }
});
$(document).keyup(function(event){
  //spacebar = 8
    if (event.keyCode == 16) {

        $('#mysvg').css('cursor', 'pointer');
    } 
});



$( "#mysvg" ).mousedown(function(event){
      if (event.shiftKey) {
          $('#mysvg').css('cursor', '-webkit-grabbing');
      }
});

Keydown 在许多浏览器中重复触发,直到您抬起按键。我知道 Chrome 和 Firefox 有这种行为。所以您的按键处理程序正在重置光标。