【发布时间】:2011-02-01 06:52:48
【问题描述】:
我想创建可排序小部件的自定义版本。我一直在寻找文档,但找不到真正准确的东西。我找到的最好的信息是:http://jqueryui.pbworks.com/Widget-factory。
我试过了:
$.widget("ui.customsortable", $.extend($.ui.sortable, {
_init: function() {
$.widget.prototype._init.apply(this, arguments);
}
}));
但是 $.widget.prototype._init 不是我想调用的函数,因为它是 $.widget 原型。
然后,我尝试了一些我在这里和那里读到的东西:
var _init = $.ui.sortable.prototype._init;
$.widget("ui.customsortable", $.extend($.ui.sortable, {
_init: function() {
_init.apply(this, arguments);
},
}));
但是:
- 我不敢相信我必须像这样存储我想要覆盖的所有方法,太丑了。
- 它抛出一个错误(“this.refresh is not a function”),这意味着刷新方法不存在。这是否意味着我必须重新创建我想要覆盖的所有方法?在这种情况下扩展有什么意义?
我在这里错过了什么吗?
感谢您的帮助!
【问题讨论】:
-
在 1.8 中,$.widget() 函数接受一个基本小部件作为第二个参数。 docs.jquery.com/UI_Developer_Guide#The_widget_factory
标签: javascript jquery jquery-ui