Skip to content

Commit 4587f2d

Browse files
committed
Widget: Use this.widget() for event delegation.
1 parent 1729e3a commit 4587f2d

File tree

2 files changed

+20
-12
lines changed

2 files changed

+20
-12
lines changed

tests/unit/widget/widget_core.js

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -673,23 +673,31 @@ test( "_bind() with delegate", function() {
673673
this.element = {
674674
bind: function( event, handler ) {
675675
equal( event, "click.testWidget" );
676-
ok( $.isFunction(handler) );
677-
},
678-
delegate: function( selector, event, handler ) {
679-
equal( selector, "a" );
680-
equal( event, "click.testWidget" );
681-
ok( $.isFunction(handler) );
676+
ok( $.isFunction(handler) );
682677
},
683678
trigger: $.noop
684679
};
680+
this.widget = function() {
681+
return {
682+
delegate: function( selector, event, handler ) {
683+
equal( selector, "a" );
684+
equal( event, "click.testWidget" );
685+
ok( $.isFunction(handler) );
686+
}
687+
};
688+
};
685689
this._bind({
686690
"click": "handler",
687-
"click a": "handler",
691+
"click a": "handler"
688692
});
689-
this.element.delegate = function( selector, event, handler ) {
690-
equal( selector, "form fieldset > input" );
691-
equal( event, "change.testWidget" );
692-
ok( $.isFunction(handler) );
693+
this.widget = function() {
694+
return {
695+
delegate: function( selector, event, handler ) {
696+
equal( selector, "form fieldset > input" );
697+
equal( event, "change.testWidget" );
698+
ok( $.isFunction(handler) );
699+
}
700+
};
693701
};
694702
this._bind({
695703
"change form fieldset > input": "handler"

ui/jquery.ui.widget.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ $.Widget.prototype = {
326326
eventName = match[1] + "." + instance.widgetName,
327327
selector = match[2];
328328
if ( selector ) {
329-
element.delegate( selector, eventName, handlerProxy );
329+
instance.widget().delegate( selector, eventName, handlerProxy );
330330
} else {
331331
element.bind( eventName, handlerProxy );
332332
}

0 commit comments

Comments
 (0)