JQuery小部件工厂覆盖_setOptions
我试图覆盖jQuery小部件工厂的内置setOptions方法,但我不知道如何调用parent setOptions函数。我使用的是jQuery1.8.24,因此我不能使用仅在1.9+版本中可用的JQuery小部件工厂覆盖_setOptions,jquery,jquery-widgets,Jquery,Jquery Widgets,我试图覆盖jQuery小部件工厂的内置setOptions方法,但我不知道如何调用parent setOptions函数。我使用的是jQuery1.8.24,因此我不能使用仅在1.9+版本中可用的super方法 _setOption: function(key, value){ console.log('key => '+ key + '; value => '+ value); // Test to see if this gets called
super
方法
_setOption: function(key, value){
console.log('key => '+ key + '; value => '+ value); // Test to see if this gets called
if(this[key] != value) {
$.Widget.prototype._setOption.apply(this,arguments); // Call the parent option
}
},
_setOptions: function(options){
console.log('Config multi options');
console.log(options);
//$.Widget.prototype._setOptions.apply(this, options); // throws error
// Ripped out the guts of Widget _setOptions for now. Feels hackish.
var self = this;
$.each(options, function(key, value) {
self._setOption(key, value);
});
// What to do after finished setting multiple options.
this._configureVideo();
this.play();
},
您可以使用此选项。_setOption() 我相信,按照惯例,当使用jQuery WidgetsYou在技术上是正确的时,\ u方法是私有的。但是,您仍然可以覆盖这些方法,它们对您和您的小部件仍然是私有的。如果没有
。
它们是前端可以访问的公共方法。