我有类似于以下代码的内容:
$(a).click(function() {
$(element).plugin();
});
除了使用$($.plugin).remove()
之外,有没有办法从元素中删除插件?不确定我的术语是否正确,但基本上我想将元素重置为原始状态。
由于
答案 0 :(得分:19)
这是我的肮脏解决方案:
$('#myWidget,#myWidget *').unbind().removeData();
答案 1 :(得分:12)
你必须知道插件的作用才能扭转它的影响。许多插件为DOM添加额外的元素,向元素添加处理程序等。如果插件没有创建任何额外的元素,您可以简单地执行clone(没有数据和事件)并替换甚至只是unbind所有事件处理程序,但并不总是有效。它将非常依赖于有问题的插件。
答案 2 :(得分:4)
除非插件提供该功能,否则可能无法轻松完成。您必须调查插件的功能,并专门撤消这些内容 - 或者存储非插件元素的克隆以便稍后替换它。