2017-10-02 7 views
0

홈 페이지에서 pageload의 보이지 않는 (즉, 표시 영역 위의 오프 스크린) 메뉴 막대가 있으며 맨 아래에서 움직입니다 스크롤 위치가 50px를 넘으면 일반 (고정) 탐색 메뉴 모음으로 표시됩니다. 이것은 jQuery로 수행된다. 페이지가 맨 위로 완전히 스크롤되면 메뉴 표시 줄이 위로 이동하거나 다시 사라집니다.비 형식 요소 (탐색 메뉴 항목)에 포커스가있는 경우 jQuery가 감지합니다.

액세스 가능성을 이유로 누군가가 탭 키를 여러 번 사용하여 해당 탐색 표시 줄의 메뉴 항목을 집중 및 선택하면 (스크롤하지 않고) 메뉴가 표시되어야합니다. 첫 번째 테스트로

, 나는이 기능을 시도 :

(나중에 이것에 페이지의 가시 영역에 메뉴를 제공합니다 애니메이션 트리거한다)
jQuery(document).ready(function() { 
    jQuery('#menu-item-55').focus(function() { 
       alert("yes!"); 
    }); 
}); 

이 테스트 기능이있는 경우 작동을 포커스를 얻는 양식 필드에서 사용하지만 focus()이 양식 요소에서만 작동하기 때문에 nav 메뉴의 링크에서 작동하지 않습니다.

링크를 만들 때 사용할 수있는 방법이 있습니까? 아니면 링크에서 포커스를 감지 할 수있는 다른 방법이 있습니까?

+0

를 사용할 수'대신 .focus'의()'. – PHPglue

+0

@PHPglue 감사합니다. 시도했지만 포커스가 맞지 않습니다. "진짜"마우스 센터에만 해당합니다. – Johannes

답변

0

그냥 대답 나 자신을 발견 :

focus() 링크에서 작동하지 않습니다,하지만 focusin()을한다! 당신이 jQuery를 사용하는 경우

0

가 1.6 다음`.mouseenter()`또는`.click()를 사용하여보십시오 :focus 선택

$(document).ready(function() { 
    if ($('#menu-item-55').is(':focus')) { 
     alert("yes!"); 
    }); 
}); 
+0

비슷한 대답을 게시하려고했습니다. CSS : 포커스가 작동하므로 GumZ의 대답도 잘 작동합니다. –

+0

시간을내어 답변 해 주셔서 감사합니다.하지만 여기서 작동하지 않습니다. – Johannes