苹果浏览器。拖动时光标错误

Safari. Wrong cursor when dragging

我正在尝试向我的项目添加拖放功能并为此使用 slip.js

为了装饰光标,我向每个可拖动对象 <tr> 添加了 class="draggable"。这个 class 的 CSS 是:

.draggable:active { 
  cursor: -webkit-grabbing;
  cursor:    -moz-grabbing;
  cursor:         grabbing;
}

拖放工作正常,但在 Safari 中,当我拖动 table 行时,光标看起来像 cursor: text

在Chrome光标就OK了

有趣的是,当我只是单击并按住而不拖动光标时,在 Safari 中也可以

chrome sets cursor to text while dragging, why?中所述,我需要在拖动时禁用选择。我的 JavaScript 为此:

list = document.getElementById('demo1');

var flag_dragging = false;
list.addEventListener('mouseover', function(e){
  document.onselectstart = function(){ return false; }
});

list.addEventListener('mouseout', function(e){
  if(!flag_dragging){
    document.onselectstart = function(){ return true; }
  }
});

list.addEventListener('dragstart', function(e){
  flag_dragging = true;
});

list.addEventListener('dragstop', function(e){
  flag_dragging = false;
});