jquery从元素中删除插件

Ste*_*eng 28 jquery plugins

我有类似于以下代码的东西:

$(a).click(function() {
  $(element).plugin();
});
Run Code Online (Sandbox Code Playgroud)

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

谢谢

dev*_*ide 21

这是我的肮脏解决方案:

$('#myWidget,#myWidget *').unbind().removeData();
Run Code Online (Sandbox Code Playgroud)


tva*_*son 12

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


Mat*_*chu 5

除非插件提供了该功能,否则可能很难做到这一点。您将必须调查插件的功能,并明确撤消这些操作-或存储非插入元素的克隆以供以后替换。