elem = window;
}
+ if ( handler === false ) {
+ handler = returnFalse;
+ }
+
var handleObjIn, handleObj;
if ( handler.handler ) {
}
var events = elemData.events = elemData.events || {},
- eventHandle = elemData.handle, eventHandle;
+ eventHandle = elemData.handle;
if ( !eventHandle ) {
elemData.handle = eventHandle = function() {
return;
}
+ if ( handler === false ) {
+ handler = returnFalse;
+ }
+
var ret, type, fn, i = 0, all, namespaces, namespace, special, eventType, handleObj, origType,
elemData = jQuery.data( elem ),
events = elemData && elemData.events;
namespace = new RegExp("(^|\\.)" + namespaces.slice(0).sort().join("\\.(?:.*\\.)?") + "(\\.|$)");
}
- var events = jQuery.data(this, "events"), handlers = events[ event.type ];
+ events = jQuery.data(this, "events");
+ handlers = (events || {})[ event.type ];
if ( events && handlers ) {
// Clone the handlers to prevent manipulation
if ( this.setInterval ) {
this.onbeforeunload = eventHandle;
}
-
- return false;
},
+
teardown: function( namespaces, eventHandle ) {
if ( this.onbeforeunload === eventHandle ) {
this.onbeforeunload = null;
return this;
}
- if ( jQuery.isFunction( data ) ) {
+ if ( jQuery.isFunction( data ) || data === false ) {
fn = data;
data = undefined;
}
if ( name === "live" ) {
// bind live handler
- context.each(function(){
- jQuery.event.add( this, liveConvert( type, selector ),
+ for ( var j = 0, l = context.length; j < l; j++ ) {
+ jQuery.event.add( context[j], liveConvert( type, selector ),
{ data: data, selector: selector, handler: fn, origType: type, origHandler: fn, preType: preType } );
- });
+ }
} else {
// unbind live handler
}
return this;
- }
+ };
});
function liveHandler( event ) {
"change select submit keydown keypress keyup error").split(" "), function( i, name ) {
// Handle event binding
- jQuery.fn[ name ] = function( fn ) {
- return fn ? this.bind( name, fn ) : this.trigger( name );
+ jQuery.fn[ name ] = function( data, fn ) {
+ if ( fn == undefined ) {
+ fn = data;
+ data = null;
+ }
+
+ return arguments.length > 0 ?
+ this.bind( name, data, fn ) :
+ this.trigger( name );
};
if ( jQuery.attrFn ) {