【发布时间】:2011-11-28 16:26:01
【问题描述】:
我正在尝试使用 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,它们不适用于所有浏览器)。
有什么想法可能会出错吗?
【问题讨论】:
标签: css jquery-ui jquery-ui-sortable mouse-cursor