Javascript 恢复时(回滚/关闭unifrom时)会发生jquery统一奇怪的事情

Javascript 恢复时(回滚/关闭unifrom时)会发生jquery统一奇怪的事情,javascript,jquery,html,css,uniform,Javascript,Jquery,Html,Css,Uniform,Uniform是一个用于设置表单样式的jQuery插件。我在我的项目中使用它,我需要关闭这个插件,然后再打开 您可以通过以下方式(其中一种方式)打开插件:$(“输入,文本区域,选择,按钮”).uniform() 如果要关闭插件(恢复旧样式),请执行以下操作:$.uniform.restore() 它工作正常,但不在按钮、提交或重置上。当恢复这些输入的值时,会出现并在原始按钮的左侧找到一个位置 这里有一个JSFIDLE链接供您查看演示: 我试图解决这个问题,但运气不好。请帮帮我。谢谢。好吧,这里有

Uniform是一个用于设置表单样式的jQuery插件。我在我的项目中使用它,我需要关闭这个插件,然后再打开

您可以通过以下方式(其中一种方式)打开插件:
$(“输入,文本区域,选择,按钮”).uniform()

如果要关闭插件(恢复旧样式),请执行以下操作:
$.uniform.restore()

它工作正常,但不在
按钮
提交
重置
上。当恢复这些输入的值时,会出现并在原始按钮的左侧找到一个位置

这里有一个JSFIDLE链接供您查看演示:

我试图解决这个问题,但运气不好。请帮帮我。谢谢。

好吧,这里有一个非常粗糙的解决方案:

$.uniform._restore = $.uniform.restore;
$.uniform.restore  = function(elem) {
  if (elem === undefined) {
     elem = $($.uniform.elements);
  }
  $(elem).each(function() {
     if ($(this).is("button, :submit, :reset, input[type='button']")) {
       this[0].parentNode.firstChild.nodeValue = '';
     }
  });
  $.uniform._restore(elem);
};

如图所示,它是有效的。但我宁愿在统一的源代码中解决这个问题(这就是为什么它托管在github上)

这似乎是制服的一个缺陷。当它恢复一些元素时,它会删除它的“装饰”元素,但这对于按钮是不够的,因为相应的文本节点也应该被删除…好的,你可以重写这个答案,我会接受它的!你做得很好。非常感谢。这个页面肯定会对很多人有用。