JQuery Sortable – 处理IE中的错误?

前端之家收集整理的这篇文章主要介绍了JQuery Sortable – 处理IE中的错误?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个我希望能够排序的div列表.每个div都有文本,并且里面还有一个句柄(由于UI,我只想在列表项的左半部分被拖动时进行排序).在Chrome / FireFox中,这非常有用,但在IE中,如果单击文本,即使文本在句柄内,也不会让您排序.

我在这里找到了问题的简化模型,请确保使用Internet Explorer测试:http://jsfiddle.net/t8Ebd/

我假设这是一个分层的事情,但尝试了以下方法,没有运气:

>更改文本和句柄的z索引
> $(“.itemname”).disableSelection();
> ms-user-select:none;用户选择:无;
>将文本类添加到句柄列表 – 这解决了问题,但不适合我,因为我不希望列表项右半部分的文本触发排序
>在手柄上设置背景颜色 – 我知道这听起来很奇怪,但是如果我设置了一种颜色,那么它就会成为最顶层的元素,因此它会正常运行,尽管它隐藏了对我不起作用的文本.

任何人有任何其他想法?

解决方法

在IE中打破的“.sorthandle”之后你有一个额外的逗号:
$("ul").sortable({
    handle: ".sorthandle",// here
});

将其更改为:

$("ul").sortable({
    handle: ".sorthandle"
});

我在评论中建议使用jQuery UI中的disableSelection()方法.虽然它似乎也没有完全奏效.

我设法通过为句柄设置背景颜色并将不透明度设置为零来实现您所追求的目标,因此它是不可见的:

.sorthandle {
    ...
    background-color: White;
    opacity: 0;
    filter: alpha(opacity = 0);
}​

DEMO

当然这会移除你的绿色边框,我不知道这是否重要.

也许这可以通过使用png透明背景图像来工作.我的猜测是没有背景的句柄,IE选择下面的文本.

猜你在找的jQuery相关文章