Merge branch 'master' of github.com:jquery/jquery into fix-8790a-quicker-trigger

This commit is contained in:
Dave Methvin 2011-04-21 22:15:21 -04:00
commit 16312c6b06
23 changed files with 994 additions and 757 deletions

View file

@ -63,7 +63,7 @@ jQuery.event = {
elemData.handle = eventHandle = function( e ) {
// Discard the second event of a jQuery.event.trigger() and
// when an event is called after a page has unloaded
return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
return typeof jQuery !== "undefined" && (!e || jQuery.event.triggered !== e.type) ?
jQuery.event.handle.apply( eventHandle.elem, arguments ) :
undefined;
};
@ -910,7 +910,7 @@ jQuery.each(["bind", "one"], function( i, name ) {
return this;
}
if ( jQuery.isFunction( data ) || data === false ) {
if ( arguments.length === 2 || data === false ) {
fn = data;
data = undefined;
}
@ -1063,7 +1063,7 @@ jQuery.each(["live", "die"], function( i, name ) {
preType = type;
if ( type === "focus" || type === "blur" ) {
if ( liveMap[ type ] ) {
types.push( liveMap[ type ] + namespaces );
type = type + namespaces;
@ -1134,6 +1134,11 @@ function liveHandler( event ) {
if ( handleObj.preType === "mouseenter" || handleObj.preType === "mouseleave" ) {
event.type = handleObj.preType;
related = jQuery( event.relatedTarget ).closest( handleObj.selector )[0];
// Make sure not to accidentally match a child element with the same selector
if ( related && jQuery.contains( elem, related ) ) {
related = elem;
}
}
if ( !related || related !== elem ) {