如何从内部销毁jQuery UI小部件's原型
How to destroy a jQuery UI widgets from within it's prototype
我已经开始使用Widget Factory创建插件了。然而,我似乎找不到从内部销毁插件的方法。
到目前为止,在我发现的所有示例和教程中,它们都会破坏DOM中的插件。这一切都很好,但我也希望能够从我的原型中销毁插件。
例如,假设插件被调用时使用了不正确的参数或不正确的元素,或者过了一段时间后它没有进行验证。我希望之后能够调用this.destroy()并销毁插件。当我调用this.destroy()时,它确实调用了$.Widget.protype.destroy()和我随后的_destroy(()方法,但实例仍在DOM元素上。只有当调用$(el).pluginName('destroy')时,它才会真正被破坏。
此处的快速示例
假设我们有一些html
<p>Lorem ipsum</p>
以及我们的jQuery UI小部件,它旨在在创建后立即销毁它
$.widget('ns.test', {
_create: function() {
this.destroy();
},
_destroy: function() {}
});
我们调用pluging,所以
$('p').test();
我希望该实例不会设置在$('p')上,但它是
$('p').data();
>> Object {ns-test: $.widget.$.(anonymous function).(anonymous function)}
只有当从DOM调用方法时,它才会被销毁
$('p').test('destroy');
>> Object {}
有什么想法吗?
+blgt的见解或多或少是正确的。所以我添加它并接受它。
您可以从_create
和_init
以外的任何方法调用this.destroy()
,它将按您的预期工作,但我不完全确定原因。可能与.data
数据的管理方式有关
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- Dojo不解析自定义小部件的模板html中的小部件声明性
- 使用“;这个“;JavaScript原型方法中的关键字
- 在输入字段中将最小金额设置为
- 砌体不能填补小缺口
- 引用类变量中的原型方法
- CSS-若窗口太小,滚动条会出现在“表格”单元格上
- 如何从对象的原型方法访问JavaScript对象属性
- 限制javascript变量的最小/最大整数
- 为什么要包装每一个原型“;类“;JS中具有匿名函数的对象
- HTML5在画布中加载较小的图像并保存实际大小的图像
- 最小化时暂停Javascript动画
- Node.js中的JavaScript原型对象效率
- 如何正确实现Jquery多选小部件
- 微笑时间轴小部件添加自定义字段
- 如何在Symfony2中的表单小部件中包含javascript
- 如何从内部销毁jQuery UI小部件's原型
- 使用原型JS的浮动小部件/横幅
- JS原型,小混乱
- 克罗克福德原型继承的一个小缺点