]> source.dussan.org Git - jquery-ui.git/commitdiff
Widget: Create eventNamespace property instead of constantly rebuilding it.
authorScott González <scott.gonzalez@gmail.com>
Thu, 14 Jun 2012 14:51:29 +0000 (10:51 -0400)
committerScott González <scott.gonzalez@gmail.com>
Thu, 14 Jun 2012 15:17:20 +0000 (11:17 -0400)
tests/unit/widget/widget_core.js
ui/jquery.ui.widget.js

index 1e40c40802efd6bec64dc3a0149de6e8505e19b0..24ae9c5671420588d819f4bcd6a1c5863f0aeb4b 100644 (file)
@@ -749,11 +749,11 @@ test( "_on() with delegate", function() {
        $.ui.testWidget();
 });
 
-test( "_bind() to common element", function() {
+test( "_on() to common element", function() {
        expect( 1 );
        $.widget( "ui.testWidget", {
                _create: function() {
-                       this._bind( this.document, {
+                       this._on( this.document, {
                                "customevent": "_handler"
                        });
                },
index d5e68683e24b58f67cae85b13460daca51ff352d..22049cbb8554931b57ab3548815f6d71c18fe60d 100644 (file)
@@ -211,11 +211,12 @@ $.Widget.prototype = {
        _createWidget: function( options, element ) {
                element = $( element || this.defaultElement || this )[ 0 ];
                this.element = $( element );
+               this.uuid = uuid++;
+               this.eventNamespace = "." + this.widgetName + this.uuid;
                this.options = $.widget.extend( {},
                        this.options,
                        this._getCreateOptions(),
                        options );
-               this.uuid = uuid++;
 
                this.bindings = $();
                this.hoverable = $();
@@ -249,7 +250,7 @@ $.Widget.prototype = {
                // we can probably remove the unbind calls in 2.0
                // all event bindings should go through this._on()
                this.element
-                       .unbind( "." + this.widgetName + this.uuid )
+                       .unbind( this.eventNamespace )
                        // 1.9 BC for #7810
                        // TODO remove dual storage
                        .removeData( this.widgetName )
@@ -258,14 +259,14 @@ $.Widget.prototype = {
                        // http://bugs.jquery.com/ticket/9413
                        .removeData( $.camelCase( this.widgetFullName ) );
                this.widget()
-                       .unbind( "." + this.widgetName + this.uuid )
+                       .unbind( this.eventNamespace )
                        .removeAttr( "aria-disabled" )
                        .removeClass(
                                this.widgetFullName + "-disabled " +
                                "ui-state-disabled" );
 
                // clean up events and states
-               this.bindings.unbind( "." + this.widgetName + this.uuid );
+               this.bindings.unbind( this.eventNamespace );
                this.hoverable.removeClass( "ui-state-hover" );
                this.focusable.removeClass( "ui-state-focus" );
        },
@@ -376,7 +377,7 @@ $.Widget.prototype = {
                        }
 
                        var match = event.match( /^(\w+)\s*(.*)$/ ),
-                               eventName = match[1] + "." + instance.widgetName + instance.uuid,
+                               eventName = match[1] + instance.eventNamespace,
                                selector = match[2];
                        if ( selector ) {
                                instance.widget().delegate( selector, eventName, handlerProxy );