В каком случае сортировка jQuery не выполняется автоматически?

Я пытаюсь понять, почему определенный jQuery .sortable() не будет включать какие-либо события перетаскивания в некоторых случаях. В определенном диалоговом окне jQuery у меня есть сортировка, я подтверждаю, что элемент существует во время отладки ($('theelement') - длина 1, перед вызовом $('theelement').sortable()).

Я проверяю наличие событий с помощью инспектора Chrome, и я не вижу никакой причины, по которой он не будет выполнять тот же самый код, который работает в другом диалоговом окне jQuery, в котором допускается переупорядочение перетаскивания. Я удалил классы контейнера, чтобы сделать его похожим на тот, в котором он работает, на случай, если что-то вроде jQuery('.something theelement').*******(function(){return false}) запускается.

Я также упростил код, изменив сортировку на что-то простое

<ul target="" element="">
 <li>test</li>
 <li>test</li>
</ul>

и вызов jquery(target element).sortable() поэтому это не должно быть сложной проблемой css или dom, вызывающей это.

Есть ли что-то другое, кроме отладки каждого шага по каждой строке миниатюрного источника jQuery-ui, чтобы найти источник этой проблемы?

1 ответ

Как ни странно, draggable() действительно работает. Таким образом, перед добавлением сортировки снова jQuery(element).data('uiSortable','') функция с помощью jQuery(element).data('uiSortable',''). добавление ': visible' к вводу jquery также предотвращает всю проблему разложения элемента каким-то образом, когда оно было вызвано до его показа, что мешало ему работать.

licensed under cc by-sa 3.0 with attribution.