xfo*_*fun 1 javascript jquery kendo-ui kendo-autocomplete
我正在尝试扩展现有的KendoUI小部件(自动完成).由于我们的应用程序已经使用了很多自动完成小部件的实例,我不想创建一个新的小部件,它扩展了当前的小部件,而是替换现有的小部件.
我已经找到了这个主题:kendo-ui autocomplete extend,但不幸的是它指出了一个新的.
我尝试了以下代码:
var plg = kendo.ui.AutoComplete.extend({
options: {
name: 'AutoCompleteMyOne'
},
init: function (_element, _options)
{
kendo.ui.AutoComplete.fn.init.call(this, _element, _options);
/*...*/
}
});
kendo.ui.plugin(plg);
Run Code Online (Sandbox Code Playgroud)
要点是选项的名称属性.如果名称只是"自动完成",则初始化不再起作用:此行以无限循环结束:
kendo.ui.AutoComplete.fn.init.call(this, _element, _options);
Run Code Online (Sandbox Code Playgroud)
如何调用基本初始化或者它是否真的被覆盖了?
如果替换自动完成窗口小部件,那么您的代码init将以递归方式有效地调用自己的方法.因此,您需要存储现有方法并调用该方法,例如:
var plg = (function (init) {
return kendo.ui.AutoComplete.extend({
options: {
name: 'AutoComplete'
},
init: function (_element, _options) {
// modify the placeholder
_options.placeholder += " (custom)";
init.call(this, _element, _options);
/*...*/
}
});
})(kendo.ui.AutoComplete.fn.init);
kendo.ui.plugin(plg);
Run Code Online (Sandbox Code Playgroud)
(演示)
| 归档时间: |
|
| 查看次数: |
1832 次 |
| 最近记录: |