Подтвердить что ты не робот

Jquery удалить плагин из элемента

У меня есть что-то похожее на следующий код:

$(a).click(function() {
  $(element).plugin();
});

Есть ли способ удалить плагин из другого элемента, кроме $($.plugin).remove()? Не уверен, что у меня есть правильная терминология, но в основном я хочу reset элемент в исходное состояние.

Спасибо

4b9b3361

Ответ 1

Вам нужно знать, что делает плагин, чтобы отменить его эффекты. Многие плагины добавляют дополнительные элементы в DOM, обработчики к элементам и т.д. Если плагин не создает никаких дополнительных элементов, вы можете просто сделать clone (без данных и событий) и заменить или даже просто unbind все обработчики событий, но это не всегда будет эффективный. Это будет очень зависимым от рассматриваемого плагина.

Ответ 2

Вот мое грязное решение:

$('#myWidget,#myWidget *').unbind().removeData();

Ответ 3

Если плагин не предоставляет эту функциональность, это, вероятно, нелегко сделать. Вам нужно будет изучить, что делает плагин, и, в частности, отменить эти вещи - или сохранить клон не подключенного элемента, чтобы заменить его позже.