Jquery удалить плагин из элемента
У меня есть что-то похожее на следующий код:
$(a).click(function() {
$(element).plugin();
});
Есть ли способ удалить плагин из другого элемента, кроме $($.plugin).remove()
? Не уверен, что у меня есть правильная терминология, но в основном я хочу reset элемент в исходное состояние.
Спасибо
Ответы
Ответ 1
Вам нужно знать, что делает плагин, чтобы отменить его эффекты. Многие плагины добавляют дополнительные элементы в DOM, обработчики к элементам и т.д. Если плагин не создает никаких дополнительных элементов, вы можете просто сделать clone (без данных и событий) и заменить или даже просто unbind все обработчики событий, но это не всегда будет эффективный. Это будет очень зависимым от рассматриваемого плагина.
Ответ 2
Вот мое грязное решение:
$('#myWidget,#myWidget *').unbind().removeData();
Ответ 3
Если плагин не предоставляет эту функциональность, это, вероятно, нелегко сделать. Вам нужно будет изучить, что делает плагин, и, в частности, отменить эти вещи - или сохранить клон не подключенного элемента, чтобы заменить его позже.