mouseenter和mouseleave

摘自jQuery的一段代码:

var withinElement = function(event) {
	// Check if mouse(over|out) are still within the same parent element
	var parent = event.relatedTarget;
	// Traverse up the tree
	while ( parent && parent != this )
		try { parent = parent.parentNode; }
		catch(e) { parent = this; }
	
	if( parent != this ){
		// set the correct event type
		event.type = event.data;
		// handle event if we actually just moused on to a non sub-element
		jQuery.event.handle.apply( this, arguments );
	}
};

附带event.relatedTarget的实现方法:

// Add relatedTarget, if necessary
if ( !event.relatedTarget && event.fromElement )
	event.relatedTarget = event.fromElement == event.target ? event.toElement : event.fromElement;

mouseenter和mouseleave》上有3条评论

  1. Pingback引用通告: 判断元素包含关系的一些方法 | 记事本

  2. Pingback引用通告: » 判断元素包含关系的一些方法 » UED TEAM

  3. Pingback引用通告: 判断元素包含关系的一些方法 | 田园牧歌

发表评论