aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott González <scott.gonzalez@gmail.com>2011-01-18 01:53:20 -0500
committerScott González <scott.gonzalez@gmail.com>2011-01-18 01:53:20 -0500
commit6072703cd17a04b0de83b337534fd0c12e24aa88 (patch)
treea3348bce17493e390346580f5a0c43394a85c0d3
parent659db70caa2ff1e3a43e98f3895f0353ebcee154 (diff)
downloadjquery-ui-6072703cd17a04b0de83b337534fd0c12e24aa88.tar.gz
jquery-ui-6072703cd17a04b0de83b337534fd0c12e24aa88.zip
Widget: Added "dynamic" bindings via ._bind() to allow for proxying.
-rw-r--r--tests/unit/widget/widget_core.js4
-rw-r--r--ui/jquery.ui.widget.js9
2 files changed, 5 insertions, 8 deletions
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 );
});
});
},