From: Scott González Date: Tue, 18 Jan 2011 06:53:20 +0000 (-0500) Subject: Widget: Added "dynamic" bindings via ._bind() to allow for proxying. X-Git-Tag: 1.9m4~44 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=6072703cd17a04b0de83b337534fd0c12e24aa88;p=jquery-ui.git Widget: Added "dynamic" bindings via ._bind() to allow for proxying. --- diff --git a/tests/unit/widget/widget_core.js b/tests/unit/widget/widget_core.js index f0afaa956..5ed0717da 100644 --- a/tests/unit/widget/widget_core.js +++ b/tests/unit/widget/widget_core.js @@ -412,7 +412,7 @@ test( "_bind to element (default)", function() { self = this; this._bind({ keyup: this.keyup, - keydown: this.keydown + keydown: "keydown" }); }, keyup: function( event ) { @@ -452,7 +452,7 @@ test( "_bind to descendent", function() { self = this; this._bind( this.element.find( "strong" ), { keyup: this.keyup, - keydown: this.keydown + keydown: "keydown" }); }, keyup: function( event ) { diff --git a/ui/jquery.ui.widget.js b/ui/jquery.ui.widget.js index 4d786e5c6..dd7992da2 100644 --- a/ui/jquery.ui.widget.js +++ b/ui/jquery.ui.widget.js @@ -130,11 +130,7 @@ $.Widget.prototype = { options ); this.bindings = $(); - - var self = this; - this.element.bind( "remove." + this.widgetName, function() { - self.destroy(); - }); + this._bind({ remove: "destroy" }); this._create(); this._trigger( "create" ); @@ -233,7 +229,8 @@ $.Widget.prototype = { if ( instance.options.disabled ) { return; } - return handler.apply( instance, arguments ); + return ( typeof handler === "string" ? instance[ handler ] : handler ) + .apply( instance, arguments ); }); }); },