Skip to content
Permalink
Browse files

Widget: Only create _super and _superApply once per method, then assi…

…gn on every execution.
  • Loading branch information
scottgonzalez committed Feb 11, 2011
1 parent 6096aed commit 92bae28deaa6d4ab195b51a46acf5ed3157b7648
Showing with 9 additions and 5 deletions.
  1. +9 −5 ui/jquery.ui.widget.js
@@ -58,15 +58,19 @@ $.widget = function( name, base, prototype ) {
basePrototype.options = $.extend( true, {}, basePrototype.options );
$.each( prototype, function( prop, value ) {
if ( $.isFunction( value ) ) {
prototype[ prop ] = function() {
this._super = function( method ) {
prototype[ prop ] = (function() {
var _super = function( method ) {
return base.prototype[ method ].apply( this, slice.call( arguments, 1 ) );
};
this._superApply = function( method, args ) {
var _superApply = function( method, args ) {
return base.prototype[ method ].apply( this, args );
};
return value.apply( this, arguments );
};
return function() {
this._super = _super;
this._superApply = _superApply;
return value.apply( this, arguments );
};
}());
}
});
$[ namespace ][ name ].prototype = $.extend( true, basePrototype, {

0 comments on commit 92bae28

Please sign in to comment.
You can’t perform that action at this time.