2011-08-09 3 views
1

jQuery를 사용하면 요소가 'mouseovered'및 해당 요소의 하위 요소를 감지 할 수 있습니까?

다음은 지금까지 내가 가지고있는 것입니다 :

var hoveredElement; //none per default 

;(function($){ 
$.fn.isHovered = function(){ 
    return (hoveredElement.length && $(this)[0] === hoveredElement[0]); 
}; 

})(jQuery); 


$(document).mouseover(function(e){ 
    hoveredElement = $(e.target); 
}); 


$(document).mouseover(function(e){ 
    console.log($(this).isHovered()); 
}); 
기본적으로 다음 구조를가집니다 :

<div id='one'> 
    <div id="two"> 
     <div id="three"> 
      three 
     </div> 
    </div> 
</div> 

두 개 이상 마우스, #two 또는 # 내가 쥐고있는 세 마리.

어떻게해야합니까?

+1

모든 이유 왜 당신이 ['hover()'] (http://api.jquery.com/hover/)를 사용하지 않는가? – Shef

답변

1

jQuery .hover() API : http://api.jquery.com/hover/을 사용하면 $(this)을 통해 현재 개체를 볼 수 있습니다. 같은

뭔가 :

$('div').hover( 
function() { console.log('hovering over %o', $(this) }, 
function() { console.log('leaving') } 
); 
+1

그건 내가 원하는게 아니야. 요소 나 그 자식이 맴돌 든 상관없이 bool을 반환하는 함수가 필요합니다. –

+0

내가 말했듯이, 나는 호버에 대한 액션을 수행하지 않고 오히려 그 아이템이 홀드되는지 아닌지에 따라 다른 스크립트의 흐름을 변경한다. –

+0

나는 이것을 사용하여 변수를 설정하는 함수를 만들 수 있었다. 감사 –

관련 문제