2013-07-30 5 views
2

자바 스크립트 : (지금은 CSS를 인라인)이 jQuery 선택기가 작동하지 않는 이유는 무엇입니까?

<script> 

$('#aboutme').on('hover', function(){ 
    console.log("All the stuff"); 
    /* $("#aboutmedropdown").css("dispay","block"); */ 
}); 

</script> 

HTML은 :

  <div class="nav"> 
       <ul class="navlist"> 
        <li style="position: relative;"><a href="#"><img src="/img/nav-home.png" alt="Navigation Home"></a></li> 
        <li style="position: relative;"><a href="#"><img src="/img/nav-about.png" id="aboutme" alt="Navigation About"></a> 
         <div id="aboutmedropdown" style="width: 150px; position: absolute; background-color: #FFFFFF;"> 
          <ul style="list-style: none; padding: 0; margin: 0; border-bottom: 5px solid #8cc419;" class="sub_menu"> 
           <li style="display: block; font-size: 16px; line-height: 20px; text-align: center; border-bottom: 1px solid #8cc419;"><a href="#" style="color: #8CC419;">About Me</a></li> 
           <li style="display: block; font-size: 16px; line-height: 20px; color: #8CC419; text-align: center; border-bottom: 1px solid #8cc419;"><a href="#" style="color: #8CC419;">Testimonials</a></li> 
          </ul> 
         </div> 
        </li> 
        <li style="position: relative;"><a href="#"><img src="/img/nav-yoga.png" alt="Navigation Yoga"></a></li> 
        <li style="position: relative;"><a href="#"><img src="/img/nav-pilates.png" alt="Navigation Pilates"></a></li> 
        <li style="position: relative;"><a href="#"><img src="/img/nav-fitness.png" alt="Navigation Fitness"></a></li> 
        <li style="position: relative;"><a href="#"><img src="/img/nav-media.png" alt="Navigation Media"></a></li> 
        <li style="position: relative;"><a href="#"><img src="/img/nav-fitcamp.png" alt="Navigation Fitcamp"></a></li> 
        <li style="position: relative;"><a href="#"><img src="/img/nav-blog.png" alt="Navigation Blog"></a></li> 
       </ul> 
      </div> 

나는 요소를 검사하고 분명하게 내가 위로 마우스를 이동하는 데 필요한 이미지에 적절한 ID를 가지고 있는지 볼 수 있어요 - - #aboutme.

페이지 소스를보고 있는데 내 <script>jQuery이로드되어 있습니다.

그러나 ID가 aboutme 인 이미지 위로 마우스를 가져 가면 콘솔에서 아무 반응이 없습니다.

아이디어가 있으십니까?

+3

HTML이로드되기 전에 스크립트가로드됩니까? – jprofitt

+0

예, 스크립트가 head 요소에 있습니다. –

답변

7

onhover를 사용 (함께) mouseout 또는 동등한 mouseenter mouseout를 사용

http://jsfiddle.net/deJNU/

는 다른 방법과 같이 호버 방법을 사용하십시오

$('#aboutme').hover(function() { 
    console.log('hover in'); 
}, function() { 
    console.log('hover out'); 
}); 

* 편집 : 또한 누락 된 문서를 준비, 내 올바른 대답을 다운 투표 할 필요가 없습니다.

+0

모든 4 가지 대답은 on 메서드를 사용하여 마우스를 가져갈 필요가 없다는 점에서 누락되었습니다. 정답을 투표 해 주셔서 감사합니다. (의사 준비도 내가 눈치 채지 못한 문제이기는하지만) –

+0

모든 downvotes가 지연되었습니다 - 이건 내 문제가 해결되었습니다. 마우 스터를 사용하고 마우스를 가져 가면 안됩니다 (문서 준비는 물론). 2 분 안에 타이머가 올라 갔을 때 대답으로 표시하십시오. 감사!!!!!!!!!!! –

+1

'1.9에서 삭제 된 jQuery 1.8에서 더 이상 사용되지 않음 : "mouseenter mouseleave"문자열의 약자로 사용되는 "hover"이름. 이 두 이벤트에 대해 단일 이벤트 핸들러를 연결하고 핸들러는 이벤트가 mouseenter인지 mouseleave인지 판단하기 위해 event.type을 검사해야합니다. "hover"가상 이벤트 이름을 하나 또는 두 개의 함수를 허용하는 .hover() 메소드와 혼동하지 마십시오. [DOC] (http://api.jquery.com/on/#additional-notes) –

2

이 시도 :

$(document).ready(function(){ 
    $(document).on('hover', '#aboutme' , function(){ 
     console.log("All the stuff"); 
     /* $("#aboutmedropdown").css("dispay","block"); */ 
    }); 
}); 
+0

아직도 작동하지 않습니다 –

2

을 어느 후 <script> 태그를 이동#aboutme (바람직 바로 </body> 전) 또는 사용 :

//equivalent to $(document).ready(function() { 
$(function() { 
    $('#aboutme').on('hover', function() { 
+0

그런 식으로 작동하지 않습니다. 참조 : livingfit.wordpress.redcow.ca –

0

이런 식 사용해보십시오 :

$(document).on('hover', '#aboutme', function(){ 
    console.log("All the stuff"); 
    /* $("#aboutmedropdown").css("dispay","block"); */ 
}); 
+0

나는 그것을 그렇게했으나 여전히 작동하지 않습니다. 여기를 참조하십시오 : livingfit.wordpress.redcow.ca –

관련 문제