Нашел быстрое решение, но я не проверял это на более глубоком уровне, так что терпите меня, но теоретически оно должно работать.
$('.dragger').unbind('mouseenter').bind('mouseenter',function (e){
e.stopPropagation();
$(this).parent().sortable({
items:'li',
containment:'parent',
tolerance: 'pointer' ,
handle: '.dragger',
revert: true,
placeholder: "ui-state-highlight",
forcePlaceholderSize: true,
cursor: 'move',
}).disableTextSelection();
});
$('.dragger').unbind('mouseleave').bind('mouseleave',function (e){
$(this).parent().sortable('destroy');
});
Обратите внимание : что .dragger
- это элемент в элементе li
, которого нет в исходном вопросе.