如何在jquery中排除tr的移动?

我正在使用jQuery sortable来排序我的表。 看我的结构

Elements
I am first
I am second
I am third

我的jquery是

  jQuery('#sortable tbody').sortable({ update: function (event, ui) { }, cancel: '.not', });  

我可以在这里移动

   I am first   I am second   I am third  

之前的行

 Elements 

我怎么能阻止这种运动?

如果要仅阻止第一个元素,如果它是表的标题,则放置

标记

看例子

 
Elements
I am first
I am second
I am third

见演示: http : //jsfiddle.net/arunkumarthekkoot/7hhza/

您可以尝试比较sort or stop函数中offset.topsortable元素的offset.top值。 根据比较结果,您可以取消/允许排序:

JS代码:

 jQuery('#sortable tbody').sortable({ update: function (event, ui) {}, cancel: '.not', stop: function (event, ui) { var p = $('.not').offset().top; var P = ui.position.top; if (P < p) { return false; } } }); 

HTML:

 
Elements
I am first
I am second
I am third

演示: http : //jsfiddle.net/lotusgodkk/GCu2D/155/

您可以使用项目选项来排除特定项目。 像这样:

 jQuery('#sortable tbody').sortable({ items: 'tr:not(.not)' });