jquery从元素中删除插件

时间:2010-07-08 16:35:40

标签: jquery plugins

我有类似于以下代码的内容:

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

除了使用$($.plugin).remove()之外,有没有办法从元素中删除插件?不确定我的术语是否正确,但基本上我想将元素重置为原始状态。

由于

3 个答案:

答案 0 :(得分:19)

这是我的肮脏解决方案:

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

答案 1 :(得分:12)

你必须知道插件的作用才能扭转它的影响。许多插件为DOM添加额外的元素,向元素添加处理程序等。如果插件没有创建任何额外的元素,您可以简单地执行clone(没有数据和事件)并替换甚至只是unbind所有事件处理程序,但并不总是有效。它将非常依赖于有问题的插件。

答案 2 :(得分:4)

除非插件提供该功能,否则可能无法轻松完成。您必须调查插件的功能,并专门撤消这些内容 - 或者存储非插件元素的克隆以便稍后替换它。