Как мне уничтожить все виджеты jQuery UI?

Я разработал большое "одностраничное приложение" с использованием jQuery и jQuery UI. Поскольку я загружаю различные разделы в приложение, оно создает виджеты jQuery UI, такие как диалоги или средства выбора даты. Они имеют тенденцию зависать и вызывать некоторые проблемы, когда я перезагружаю определенные разделы. Мне бы хотелось иметь возможность вызывать функцию, которая уничтожает все загруженные виджеты пользовательского интерфейса jQuery и удаляет их из DOM. Любое решение, чтобы поймать их всех? Спасибо!

2 ответа

Решение

Теоретически, достаточно легко найти и уничтожить все виджеты определенного типа на странице:

$(":ui-draggable").draggable("destroy");

Таким образом, немыслимо создать цикл вокруг массива типов виджетов, которые, как вы знаете, вы используете, и удалить все виды виджетов в списке.

Использование remove() или же detach() очистить содержимое ваших jquery UI виджетов и вот в чем разница

remove() полностью удаляет соответствующие элементы из DOM.

Функция detach() похожа на remove(), но сохраняет сохраненные данные и события, связанные с соответствующими элементами.

Другие вопросы по тегам