X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;ds=sidebyside;f=src%2Fevent%2Fevent.js;h=3df1ae716ef1fea5bb3fe5b83f3aa737b9e7c957;hb=a5c319f922efcf34652d0632a945d20a0ab36ca6;hp=3c5a1190da8b548923d22bde21b9a4594615886a;hpb=042a46386a4e5efe787f963245aa534663559838;p=jquery.git diff --git a/src/event/event.js b/src/event/event.js index 3c5a119..3df1ae7 100644 --- a/src/event/event.js +++ b/src/event/event.js @@ -134,10 +134,13 @@ jQuery.event = { // Handle triggering a single element } else { - var val, ret, fn = jQuery.isFunction( element[ type ] || null ); + var val, ret, fn = jQuery.isFunction( element[ type ] || null ), + // Check to see if we need to provide a fake event, or not + evt = !data[0] || !data[0].preventDefault; // Pass along a fake event - data.unshift( this.fix({ type: type, target: element }) ); + if ( evt ) + data.unshift( this.fix({ type: type, target: element }) ); // Trigger the event if ( jQuery.isFunction( element.$handle ) ) @@ -147,6 +150,10 @@ jQuery.event = { if ( !fn && element["on"+type] && element["on"+type].apply( element, data ) === false ) val = false; + // Extra functions don't get the custom event object + if ( evt ) + data.shift(); + // Handle triggering of extra function if ( extra && extra.apply( element, data ) === false ) val = false; @@ -975,7 +982,7 @@ function bindReady(){ // script does not exist if jQuery is loaded dynamically if ( script ) script.onreadystatechange = function() { - if ( document.readyState != "complete" ) return; + if ( this.readyState != "complete" ) return; jQuery.ready(); };