mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-10-05 01:44:18 +00:00
Widget delegation: First draft
This commit is contained in:
parent
0e9f87f15b
commit
2d1b9b391e
13
ui/jquery.ui.widget.js
vendored
13
ui/jquery.ui.widget.js
vendored
@ -301,9 +301,10 @@ $.Widget.prototype = {
|
||||
element = $( element );
|
||||
this.bindings = this.bindings.add( element );
|
||||
}
|
||||
|
||||
var instance = this;
|
||||
$.each( handlers, function( event, handler ) {
|
||||
element.bind( event + "." + instance.widgetName, function() {
|
||||
function handlerProxy() {
|
||||
// allow widgets to customize the disabled handling
|
||||
// - disabled as an array instead of boolean
|
||||
// - disabled class as method for disabling individual parts
|
||||
@ -313,7 +314,15 @@ $.Widget.prototype = {
|
||||
}
|
||||
return ( typeof handler === "string" ? instance[ handler ] : handler )
|
||||
.apply( instance, arguments );
|
||||
});
|
||||
}
|
||||
var match = key.match( /^(\w+)\s*(.*)$/ );
|
||||
var eventName = match[1] + "." + instance.widgetName,
|
||||
selector = match[2];
|
||||
if (selector === '') {
|
||||
element.bind( eventName, handlerProxy );
|
||||
} else {
|
||||
element.delegate( selector, eventName, handlerProxy );
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user