css - jQuery UI 可排序和 :active mouse cursor for handle

标签 css jquery-ui jquery-ui-sortable mouse-cursor

我正在尝试使用 Sortable 来重新排序列表中的元素。我为列表中的每个元素都有一个句柄,它具有 :hover:active css 光标设置,以便当用户将鼠标悬停在句柄上时光标会发生变化(拖动时再次)。

<html>
  <head>
    <style>
      span { width: 20px; background: red }
      span:hover { cursor: -moz-grab; }
      span:active { cursor: -moz-grabbing; }
    </style>

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"></script>
    <script>
      $(function(){
        $('#sortable').sortable({ handle: 'span' });
        $('#sortable span').disableSelection();
      });
    </script>
  </head>
  <body>
    <ul id="sortable">
      <li><span>grab 0 here</span> I'm 0!</li>
      <li><span>grab 1 here</span> I'm 1!</li>
      <li><span>grab 2 here</span> I'm 2!</li>
      <li><span>grab 3 here</span> I'm 3!</li>
      <li><span>grab 4 here</span> I'm 4!</li>
      <li><span>grab 5 here</span> I'm 5!</li>
      <li><span>grab 6 here</span> I'm 6!</li>
      <li><span>grab 7 here</span> I'm 7!</li>
    </ul>
  </body>
</html>

问题是 :active 游标停止工作。我不确定为什么,当我不使用 sortable 时它会起作用,但之后,当我在 firebug 中弹出它时,我可以看到 :hover 光标正在应用,但没有转移到 :active

(为简单起见,我在上面的示例中使用了 -moz-grab-moz-grabbing,它们并不适用于所有浏览器)。

有什么想法可能会出错吗?

最佳答案

回答有点晚,但您可以使用 jQuery UI sortable option cursor

$('#sortable').sortable({
  cursor: "grabbing"
});

所以你可以避免额外的 jquery 和 css。

<html>
  <head>
    <style>
      span { width: 20px; background: red }
      span:hover { cursor: -moz-grab; }
    </style>

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"></script>
    <script>
      $(function(){
        $('#sortable').sortable({
          handle: 'span',
          cursor: 'grabbing'
        });
        $('#sortable span').disableSelection();
      });
    </script>
  </head>
  <body>
    <ul id="sortable">
      <li><span>grab 0 here</span> I'm 0!</li>
      <li><span>grab 1 here</span> I'm 1!</li>
      <li><span>grab 2 here</span> I'm 2!</li>
      <li><span>grab 3 here</span> I'm 3!</li>
      <li><span>grab 4 here</span> I'm 4!</li>
      <li><span>grab 5 here</span> I'm 5!</li>
      <li><span>grab 6 here</span> I'm 6!</li>
      <li><span>grab 7 here</span> I'm 7!</li>
    </ul>
  </body>
</html>

关于css - jQuery UI 可排序和 :active mouse cursor for handle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8298937/

相关文章:

jquery-ui - grails + jquery ui插件,使用自定义主题

javascript - ReactJS:用于 css 转换的切换类

javascript - 将元素置于最高字符和最低字符之间

jquery - 将网格叠加应用于图像和视频

javascript - jQuery UI #Accordion 加载然后 fadeIN...怎么样?

javascript - $().buttonset 不适用于对话框模式框

javascript - jQuery-UI 可排序/可删除

jquery - jQuery UI Sortable 的默认顺序

html - 在 iOS 设备上设置 CSS 不起作用

jquery - 关于 Jquery UI 可排序、选项句柄的问题