|
(function ($) { |
|
|
|
if ($.fn.on === undefined) { |
|
$.fn.on = function (types, selector, data, fn) { |
|
|
|
var origFn, type; |
|
|
|
// Types can be a map of types/handlers |
|
if ( typeof types === "object" ) { |
|
// ( types-Object, selector, data ) |
|
if ( typeof selector !== "string" ) { |
|
// ( types-Object, data ) |
|
data = data || selector; |
|
selector = undefined; |
|
} |
|
for ( type in types ) { |
|
$.on( type, selector, data, types[ type ], one ); |
|
} |
|
return this; |
|
} |
|
|
|
if ( data === null && fn === null ) { |
|
// ( types, fn ) |
|
fn = selector; |
|
data = selector = undefined; |
|
} else if ( fn === null ) { |
|
if ( typeof selector === "string" ) { |
|
// ( types, selector, fn ) |
|
fn = data; |
|
data = undefined; |
|
} else { |
|
// ( types, data, fn ) |
|
fn = data; |
|
data = selector; |
|
selector = undefined; |
|
} |
|
} |
|
if ( fn === false ) { |
|
fn = returnFalse; |
|
} else if ( !fn ) { |
|
return this; |
|
} |
|
|
|
return this.each( function( types, selector, data, fn ) { |
|
jQuery.event.add( this, types, fn, data, selector ); |
|
}); |
|
}; |
|
} |
|
|
|
|
|
if ($.fn.off === undefined) { |
|
$.fn.off = function () { |
|
var handleObj, type; |
|
if ( types && types.preventDefault && types.handleObj ) { |
|
// ( event ) dispatched jQuery.Event |
|
handleObj = types.handleObj; |
|
jQuery( types.delegateTarget ).off( |
|
handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, |
|
handleObj.selector, |
|
handleObj.handler |
|
); |
|
return this; |
|
} |
|
if ( typeof types === "object" ) { |
|
// ( types-object [, selector] ) |
|
for ( type in types ) { |
|
this.off( type, selector, types[ type ] ); |
|
} |
|
return this; |
|
} |
|
if ( selector === false || typeof selector === "function" ) { |
|
// ( types [, fn] ) |
|
fn = selector; |
|
selector = undefined; |
|
} |
|
if ( fn === false ) { |
|
fn = returnFalse; |
|
} |
|
return this.each(function() { |
|
jQuery.event.remove( this, types, fn, selector ); |
|
}); |
|
}; |
|
} |
|
}(jQuery)); |