X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fevent.js;h=42655c9bc268de20d4bb69917882dec24a2f5312;hb=a49e6b63131e292bc1c31ee98b300ba87ce99162;hp=779c069dc160cdc0681facff97701acb82617635;hpb=ba7195e3f90b3a3130ac0b15880ba2f27106f568;p=jquery.git diff --git a/src/event.js b/src/event.js index 779c069..42655c9 100644 --- a/src/event.js +++ b/src/event.js @@ -25,6 +25,10 @@ jQuery.event = { elem = window; } + if ( handler === false ) { + handler = returnFalse; + } + var handleObjIn, handleObj; if ( handler.handler ) { @@ -138,6 +142,10 @@ jQuery.event = { 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; @@ -374,7 +382,8 @@ jQuery.event = { 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 @@ -830,7 +839,7 @@ jQuery.each(["bind", "one"], function( i, name ) { return this; } - if ( jQuery.isFunction( data ) ) { + if ( jQuery.isFunction( data ) || data === false ) { fn = data; data = undefined; } @@ -1072,8 +1081,13 @@ jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblcl // Handle event binding jQuery.fn[ name ] = function( data, fn ) { - return data || fn ? - this.bind( name, fn ? data : null, fn || data ) : + if ( fn == undefined ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : this.trigger( name ); };