自从我将 jQueryUI 更新到 1.8 以来,我在实现中发现了一些问题,如果我能找到如何子类化 datepicker 小部件的特定方法,我可以自己修复它,而无需等待修复完成,所以我调用父代码,然后执行我的代码。
我正在阅读 $.widget,但我就是无法理解它是如何工作的。
我尝试过这样的事情:
$.widget("ui.datepicker", {
_showDatepicker: function(input) {
alert('Yo');
$.datepicker.prototype._showDatepicker.apply(this,arguments);
alert('Hey!');
}
});
以及各种其他变体,我开始认为我只是不理解 jQueryUI 的“可扩展性”,或者它根本无法完成。
有人知道我怎样才能实现这个目标吗?
谢谢
最佳答案
1.8 中的日期选择器不使用小部件工厂。其他小部件可以,但日期选择器尚未重构为使用小部件工厂,这将在更高版本的 jQuery UI 中发生。
您可以对日期选择器执行类似的操作:
var old_showDatepicker = $.datepicker._showDatepicker;
$.datepicker._showDatepicker = function(input){
console.log('hello');
old_showDatepicker.apply(this,arguments);
console.log('goodbye');
}
这是 slider :
$.widget("my.slider", $.ui.slider, {
_value: function(input) {
console.log('Yo');
$.ui.slider.prototype.value.apply(this,arguments);
console.log('Hey!');
}
});
关于javascript - 如何子类化特定的 jqueryui 小部件方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2526592/