Как мне уничтожить все виджеты jQuery UI?
Я разработал большое "одностраничное приложение" с использованием jQuery и jQuery UI. Поскольку я загружаю различные разделы в приложение, оно создает виджеты jQuery UI, такие как диалоги или средства выбора даты. Они имеют тенденцию зависать и вызывать некоторые проблемы, когда я перезагружаю определенные разделы. Мне бы хотелось иметь возможность вызывать функцию, которая уничтожает все загруженные виджеты пользовательского интерфейса jQuery и удаляет их из DOM. Любое решение, чтобы поймать их всех? Спасибо!
2 ответа
Теоретически, достаточно легко найти и уничтожить все виджеты определенного типа на странице:
$(":ui-draggable").draggable("destroy");
Таким образом, немыслимо создать цикл вокруг массива типов виджетов, которые, как вы знаете, вы используете, и удалить все виды виджетов в списке.
Использование remove()
или же detach()
очистить содержимое ваших jquery UI виджетов и вот в чем разница
remove() полностью удаляет соответствующие элементы из DOM.
Функция detach() похожа на remove(), но сохраняет сохраненные данные и события, связанные с соответствующими элементами.