我正在使用jQuery; $。widget.bridge();并且想要销毁小部件实例,我无法弄清楚如何调用$.widegt.destroy()
方法。
// Bridge to our FileSelect plugin.
$.widget.bridge( "fileSelect", FileSelect );
// Wire up 'File' select.
$('#fileSelect').fileSelect({
onchange: jQuery.proxy( viewModel.handleFiles, viewModel );
});
....
// Now destroy the fileSelect widget?
价:
http://www.erichynds.com/jquery/using-jquery-ui-widget-factory-bridge/
https://github.com/jquery/jquery-ui/blob/1.8.5/ui/jquery.ui.widget.js#L81
更新更改了标题以更好地反映意图。
答案 0 :(得分:2)
更新:这个答案不正确,就我们而言(OP和我可以告诉)。我会在一段时间之后删除它,但我现在要离开它,以便其他人不会发布同样的事情。有关详细信息,请参阅注释。
jQuery UI小部件的常用方法是:
$('#fileSelect').fileSelect('destroy');
请注意,“method”名称在引号中,并作为参数传递给插件函数。
更新:first link you listed上提到了这一点:
$.widget.bridge
通过获取基础“foo”对象并为其提供公共API在工厂内部工作,以便您可以通过编写$('.foo').bar()
,并通过编写{来调用方法来创建实例{1}}。强>
(我的重点。) ......所以大概也适用于通过该桥创建的小部件。
答案 1 :(得分:0)
你试过.remove()吗?
答案 2 :(得分:0)
您可以考虑向某个类添加桥接,然后使用addClass()将该类应用于窗口小部件,然后您可以使用removeClass()删除该类
$.widget.addClass('someclass');
$('someclass').bridge( "fileSelect", FileSelect );
然后删除,
$.widget.removeClass('someclass');