2011-12-18 24 views
52

内的图标“把手”拖我有jQuery UI的sortables工作正常,但我可排序的元素将在其内部的其他互动元素。为了防止在与可排序div中的元素进行交互时发生意外排序,我想以某种方式使排序的拖动仅在拖动排序内的某个元素时发生,例如可能驻留的“move”图标在每个可排序的左上角。这是可能的通用jqui,或者我需要写我自己的钩子?jQuery用户界面 - 排序:排序元素

回答

114

插件的选项handle允许您定义那是可以启动排序的元素。您可以提供选择器或元素。

如果你有这个网站,与.handler是手柄启动排序:

<ul class="sortable"> 
    <li> 
     <span class="handle"></span> 
     My element 
    </li> 
</ul> 

应用选项是这样的:

$(".sortable").sortable({ handle: '.handle' }); 

但是,您可以风格你的操作件你喜欢。

+3

OMG不能相信我没有看到这对排序的文档中,但它是正确的选项部分... – Rimer 2011-12-18 20:46:51

+3

哈哈。谁读用户手册,反正:O) – 2011-12-18 20:52:14

+0

嗯,好像在IE9 IE7(怪癖模式),它不工作:(手柄不起作用,并且因为它是仅仅局限于手柄,排序是现在在IE7 :(禁用。在FF,IE9,Chrome浏览器... – Rimer 2011-12-18 21:00:05