【发布时间】:2014-01-21 10:16:33
【问题描述】:
我最近遇到了一个问题,我花了几分钟来解决这个问题,这让我对 sortable 中的 jQuery UI 项目选项使用的默认选择器感到困惑。考虑一个 portlet 示例。我试图从可排序中排除一个项目,而不是调用:
$( ".column" ).sortable({
connectWith: ".column"
});
我用过:
$( ".column" ).sortable({
connectWith: ".column",
items: ':not(.fixed)'
});
默认行为是将列中的每个 portlet 添加到可排序列表中,我假设我只能从中排除一个类。然而,我看到了奇怪的行为。上面的代码使 portlet 的每个子元素都可以排序,如下所示:fiddle。显然,这可以通过以下方式解决:
$( ".column" ).sortable({
connectWith: ".column",
items: '.portlet:not(.fixed)'
});
我意识到 :not 自己应该选择所有不满足选择器条件的元素,所以我的问题是为什么默认行为只选择父元素,为什么 :not 会覆盖此行为并选择子元素.
抱歉,如果这是一个简单的问题。
【问题讨论】:
标签: javascript jquery jquery-ui jquery-ui-sortable