Сделать лишь часть области активной jQuery sortable

Рейтинг: -1Ответов: 1Опубликовано: 11.07.2023

Не могу сделать чтобы была лишь часть области была активной, а перемещался весь блок. К примеру есть div main внутри него еще два и нужно сделать так чтобы поменять родительсике блоки (main) местами можно было лишь перетаскивая первый внутрений div с класом active.

Потому что сейчас вся область main активная

<div class="main">
    <div class="active">Change<div>
    <div class="text">some text<div>
</div>

<div class="main">
    <div class="active">Change<div>
    <div class="text">some text<div>
</div>

Ответы

▲ 0Принят

Сделать лишь часть области активной jQuery sortable

Если посмотреть описание и примеры к sortable - ответ сразу найдется. ;)

Перетаскивание за определенный элемент

Если в списке нужно будет выделять и копировать текст, например в текстовых полях, то перемещение за всю область сделает это проблематичным. Поэтому делают перемещение кликнув по иконке, так можно сделать добавив параметр handle и указав в нем название ее класса.

<ul class="sortable-ul">
    <li>
        <i class="handle"></i> 
        Строка 1 
        <input type="text" placeholder="Введите текст">
    </li>
    ...
</ul>
 
<script>
$('.sortable-ul').sortable({
    handle: '.handle'
});
</script>

Более подробнее тут - https://snipp.ru/jquery/ui-sortable