2010-04-06 7 views
2

이것은 내 첫 번째 게시물이므로 더 많은 정보를 원하시면 알려 주시기 바랍니다!jQuery 아코디언 포커스

선택 목록과 jQuery 아코디언을 사용하고 있습니다. 사용자가 목록에서 값을 선택하면 activate 메소드를 사용하여 아코디언의 관련 부분을 엽니 다.

이 기능은 사용자를 같은 장소에두기보다는 아코디언 창을 초점을 맞추는 것과는 별개로 작동합니다.

아무도이를 방지하는 방법을 알고 있습니까?

답변

2

사용자가 아코디언 머리글을 클릭하면 현재 활성 요소를 저장하고 포커스를 복원 할 수 있습니다.

는 다음과 같은 코드를 사용하여 현재 포커스 요소를 검색 할 수 있습니다

function onElementFocused(e) 
{ 
    if (e && e.target) 
     document.activeElement = 
     e.target == document ? null : e.target; 
} 

if (document.addEventListener) 
    document.addEventListener("focus", onElementFocused, true); 

이것은 document.activeElement 변수에 현재 포커스 요소를 유지합니다.

'changestart'및/또는 'change event with the accordion'을 사용하면 아코디언이 변경 될 때마다 원하는 요소로 포커스를 복원 할 수 있습니다.

아코디언 머리글 div가 위의 코드에서 현재 활성 요소로 설정되지 않도록하려면 1 또는 2를 추가해야합니다. 그렇지 않으면 포커스 만 아코디언 머리글로 복원합니다.

위의 코드는 테스트되지 않았으므로 생각했지만 믿을만합니다.