X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fevent.js;h=d0cacf6b582b174cab4540573e5566b14232aade;hb=5d033dba02fc1ffe1398cdaf0e9d402fc75e13f0;hp=56da7acc10830aa7c1a9c91424f2d3ee566feb77;hpb=77da94552e94925e990d058ed81419d0835747ce;p=jquery.git diff --git a/src/event.js b/src/event.js index 56da7ac..d0cacf6 100644 --- a/src/event.js +++ b/src/event.js @@ -109,9 +109,9 @@ jQuery.event = { if ( events ) { // Unbind all events for the element - if ( types == undefined ) + if ( types == undefined || (typeof types == "string" && types.charAt(0) == ".") ) for ( var type in events ) - this.remove( elem, type ); + this.remove( elem, type + (types || "") ); else { // types is actually an event object here if ( types.type ) { @@ -203,8 +203,8 @@ jQuery.event = { if ( jQuery.isFunction( jQuery.data(elem, "handle") ) ) val = jQuery.data(elem, "handle").apply( elem, data ); - // Handle triggering native .onfoo handlers - if ( !fn && elem["on"+type] && elem["on"+type].apply( elem, data ) === false ) + // Handle triggering native .onfoo handlers (and on links since we don't call .click() for links) + if ( (!fn || (jQuery.nodeName(elem, 'a') && type == "click")) && elem["on"+type] && elem["on"+type].apply( elem, data ) === false ) val = false; // Extra functions don't get the custom event object