( event )
| 3653 | }); |
| 3654 | |
| 3655 | function liveHandler( event ) { |
| 3656 | var stop, maxLevel, related, match, handleObj, elem, j, i, l, data, close, namespace, ret, |
| 3657 | elems = [], |
| 3658 | selectors = [], |
| 3659 | events = jQuery._data( this, "events" ); |
| 3660 | |
| 3661 | // Make sure we avoid non-left-click bubbling in Firefox (#3861) and disabled elements in IE (#6911) |
| 3662 | if ( event.liveFired === this || !events || !events.live || event.target.disabled || event.button && event.type === "click" ) { |
| 3663 | return; |
| 3664 | } |
| 3665 | |
| 3666 | if ( event.namespace ) { |
| 3667 | namespace = new RegExp("(^|\\.)" + event.namespace.split(".").join("\\.(?:.*\\.)?") + "(\\.|$)"); |
| 3668 | } |
| 3669 | |
| 3670 | event.liveFired = this; |
| 3671 | |
| 3672 | var live = events.live.slice(0); |
| 3673 | |
| 3674 | for ( j = 0; j < live.length; j++ ) { |
| 3675 | handleObj = live[j]; |
| 3676 | |
| 3677 | if ( handleObj.origType.replace( rnamespaces, "" ) === event.type ) { |
| 3678 | selectors.push( handleObj.selector ); |
| 3679 | |
| 3680 | } else { |
| 3681 | live.splice( j--, 1 ); |
| 3682 | } |
| 3683 | } |
| 3684 | |
| 3685 | match = jQuery( event.target ).closest( selectors, event.currentTarget ); |
| 3686 | |
| 3687 | for ( i = 0, l = match.length; i < l; i++ ) { |
| 3688 | close = match[i]; |
| 3689 | |
| 3690 | for ( j = 0; j < live.length; j++ ) { |
| 3691 | handleObj = live[j]; |
| 3692 | |
| 3693 | if ( close.selector === handleObj.selector && (!namespace || namespace.test( handleObj.namespace )) && !close.elem.disabled ) { |
| 3694 | elem = close.elem; |
| 3695 | related = null; |
| 3696 | |
| 3697 | // Those two events require additional checking |
| 3698 | if ( handleObj.preType === "mouseenter" || handleObj.preType === "mouseleave" ) { |
| 3699 | event.type = handleObj.preType; |
| 3700 | related = jQuery( event.relatedTarget ).closest( handleObj.selector )[0]; |
| 3701 | |
| 3702 | // Make sure not to accidentally match a child element with the same selector |
| 3703 | if ( related && jQuery.contains( elem, related ) ) { |
| 3704 | related = elem; |
| 3705 | } |
| 3706 | } |
| 3707 | |
| 3708 | if ( !related || related !== elem ) { |
| 3709 | elems.push({ elem: elem, handleObj: handleObj, level: close.level }); |
| 3710 | } |
| 3711 | } |
| 3712 | } |
nothing calls this directly
no test coverage detected
searching dependent graphs…