| define( [ |
| "../core", |
| |
| "../event", |
| "../event/trigger" |
| ], function( jQuery ) { |
| |
| "use strict"; |
| |
| jQuery.fn.extend( { |
| |
| bind: function( types, data, fn ) { |
| return this.on( types, null, data, fn ); |
| }, |
| unbind: function( types, fn ) { |
| return this.off( types, null, fn ); |
| }, |
| |
| delegate: function( selector, types, data, fn ) { |
| return this.on( types, selector, data, fn ); |
| }, |
| undelegate: function( selector, types, fn ) { |
| |
| // ( namespace ) or ( selector, types [, fn] ) |
| return arguments.length === 1 ? |
| this.off( selector, "**" ) : |
| this.off( types, selector || "**", fn ); |
| }, |
| |
| hover: function( fnOver, fnOut ) { |
| return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); |
| } |
| } ); |
| |
| jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + |
| "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + |
| "change select submit keydown keypress keyup contextmenu" ).split( " " ), |
| function( _i, name ) { |
| |
| // Handle event binding |
| jQuery.fn[ name ] = function( data, fn ) { |
| return arguments.length > 0 ? |
| this.on( name, null, data, fn ) : |
| this.trigger( name ); |
| }; |
| } ); |
| |
| } ); |