如何销毁所有jQuery UI小部件?

时间:2012-10-25 05:33:31

标签: javascript jquery ajax jquery-ui jquery-ui-widget

我使用jQuery和jQuery UI开发了一个大型“单页面应用程序”。当我在应用程序中加载各个部分时,它会创建jQuery UI小部件,如对话框或日期选择器。当我重新加载某些部分时,它们往往会徘徊并导致一些问题。我希望能够调用一个函数来销毁已加载的所有jQuery UI小部件并将其从DOM中删除。任何能够解决所有问题的解决方案?谢谢!

2 个答案:

答案 0 :(得分:7)

理论上,在页面上定位和销毁特定类型的所有小部件非常容易:

$(":ui-draggable").draggable("destroy");

因此,围绕您知道正在使用的窗口小部件类型数组创建循环并删除列表中的每种窗口小部件并不是不可想象的。

答案 1 :(得分:2)

使用remove()detach()清除jquery UI小部件的内容,这是差异

remove()完全从DOM中删除匹配的元素。

detach()与remove()类似,但保留与匹配元素关联的存储数据和事件。