Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can jqueryui';s项目选项的可排序句柄复杂选择器?_Javascript_Jquery_Jquery Ui_Jquery Ui Sortable_Jeditable - Fatal编程技术网

Javascript Can jqueryui';s项目选项的可排序句柄复杂选择器?

Javascript Can jqueryui';s项目选项的可排序句柄复杂选择器?,javascript,jquery,jquery-ui,jquery-ui-sortable,jeditable,Javascript,Jquery,Jquery Ui,Jquery Ui Sortable,Jeditable,我有一个无序列表中的列表项,当双击时,可以通过所见即所得编辑器进行编辑 $('ul.mtm_section').sortable({ disabled: true, distance: 10, items: '> li:not(:has(form))' }); 我的目标是防止列表项在编辑时被排序——也就是在表单元素替换了内容之后 不幸的是,我的项目选择器不工作。sortable能够处理这样复杂的选择器吗?如果没有,是否有其他聪明的方法来禁用某些项的可排序性,比如回调函数 我更

我有一个无序列表中的列表项,当双击时,可以通过所见即所得编辑器进行编辑

$('ul.mtm_section').sortable({
  disabled: true,
  distance: 10,
  items: '> li:not(:has(form))'
});
我的目标是防止列表项在编辑时被排序——也就是在表单元素替换了内容之后

不幸的是,我的项目选择器不工作。sortable能够处理这样复杂的选择器吗?如果没有,是否有其他聪明的方法来禁用某些项的可排序性,比如回调函数

我更愿意依赖这个可排序的选项,因为wysiwyg插件与jEditable有很深的嵌套关系,而且据我所知,它不会为我打开任何事件


使用jQuery 1.4.2和jQuery UI 1.8.1

jQuery UI Sortable可接受任何选择器,但选择器用于选择在创建排序表时(而不是在拖动开始时)可排序的项目。如果更改DOM,它仍将记住在创建可排序项时哪些项是可排序的

如果
ui,您应该能够从
sortstart
返回false
。项
包含
,但现在似乎不起作用;相反,您可以使用以下功能:

$('ul').sortable({
  items: '> li',
  cancel: 'li:has(form)'
});

谢谢我知道cancel,但当我尝试它时,我的代码中一定有一个bug。这对我有用。作为旁注,我想知道sortable是否会从强制sortable使用“live”jquery事件挂钩的选项中受益,该选项带有liveItemsSelector:true等选项