Отмена опции Draggable, предотвращающей перетаскивание дочерних элементов

0

У меня есть элемент в html как:

<div class="abc"
<ul>
 <li class="noDrag">
    <div></div>
    <ul>
      <li>
        <div></div>
       </li>
      <li>
        <div></div>
      </li>
    </ul>
 </li>
</ul>
</div>

Я инициализировал перетаскивание как:

 $('.abc li').draggable({
      cancel: ".noDrag",
      cursor: 'move',
    });

    $('.abc li').droppable({
      greedy: true
    });

Как исправить ниже:

1) Поскольку класс "noDrag" находится в родительском li, он также предотвращает перетаскивание для childern li. Я хочу предотвратить перетаскивание только для div родительского класса li "noDrag".

2) Я не хочу даже показывать движение перетаскивания для элементов опции "отменить". Я хочу показать нормальный курсор для них.

Теги:

1 ответ

1
Лучший ответ

Рабочий ДЕМО

 $('.abc>ul>li *').draggable({
    cancel:'.noDrag>div',
    cursor: 'move',
});

Надеюсь, это поможет вам

  • 0
    Я обновил ваше демо. Для noDrag используется атрибут clas вместо «class». Теперь это не работает. jsfiddle.net/ukShx/3
  • 0
    @Cindrella, вам не нужно использовать метод отмены в этой кодировке, посмотрите обновленный код и демо
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню