2010-03-17 2 views
3

나는() JS 코드를 일부 가져가 있습니다 : 나는 그것을 수행하는 방법에 대한 문서를 찾을 수 없습니다if() 마우스가 Jquery의 요소 위에있는 방법은 무엇입니까?

If ($("#leftMenuWrapper2").hasMouseover){ 
do this 
}else{ 
do that}; 

: 두 번째 기능에

$('.leftMenuProductWrapper').hover (
      function() { 



      }, 
      function() { 


    }); 

, 내가 좋아하는 뭔가를해야합니다.

편집 :이 해결책이 될 것으로 보인다

:

$('#leftMenuWrapper2').mouseenter(function(){ 
    mouseover = true; 
}).mouseleave(function(){ 
    mouseover = false; 
}); 

그리고 나중에 코드에서, 그것을 참조 : 매우 높은 수준에서

if(mouseover == false){ 
       doSomething 
       }; 
+0

누군가가'$ ('leftMenuProductWrapper')'에서'$ ('leftMenuWrapper2 ")'로 마우스를 움직일 때 특정한 행동을 수행하려고합니까? – Dancrumb

+0

또한, 이 코드가 작동하도록 설계된 DOM은? – Dancrumb

+0

@ 자레드 (Jared), 정확히 내가 대답 한 해결책입니다. –

답변

12

을, 원하는 항목 :

  • 부울 값을 유지합니다.
  • 마우스가 MouseOver 이벤트를 트리거하면 Boolean을 true로 설정하십시오.
  • 마우스가 MouseOut 이벤트를 트리거 할 때 부울을 false로 설정하십시오.

부울 값을 반환하면 hasMouseOver 값을 얻을 수 있습니다.

0

나는 당신이하고있는 일에 대해 확신 할 수 없지만 잘못된 각도에서 공격하는 것처럼 보입니다.

난 당신이, .leftMenuProductWrapper 내에서 여러 요소를 가지고 그 중 하나가 #leftMenuWrapper2입니다 있으리라 믿고있어 ... 나는 <div>들입니다 (하지만 당신은 그들이하지 않은 경우에 맞게 코드를 편집 할 수 있습니다) 관심있는 요소를 가정 . 다음과 같이 시도하십시오.

$('.leftMenuProductWrapper>div').hover(function(ev) { 
    if ($(this).id == 'leftMenuWrapper2') { 
     // do something with this one 
    } else { 
     // otherwise, do something else 
    } 
}); 
관련 문제