2013-01-24 5 views
3

나는 내 질문에 간결해질 수 있기를 바랍니다.Jquery - CSS 호버/포커스 비헤이비어를 keydown에 바인딩 할 수 있습니까?

내가 정의한 CSS가 있다고 가정 해 보겠습니다.

.someCSS-name:hover > .list-item, 
.someCSS-name:active > .list-item, 
.someCSS-name:focus > .list-item { display:block; } 

이제 내 jquery 코드에서 어떻게 위의 CSS를 사용하여 탭 언론을 만들거나 가능하게 할 수 있습니까? 탭 keypress가 CSS 동작을 상속 받도록 정렬 할 수 있습니까?

나는 아마도 여기에 지나치게 생각하고 있습니다. 내가 대신 명시 적으로 .. 내가 내 CSS를 사용할 수 있다고 기대했다 eventHandling 등을 저런 애의 ... 표시하는 팝업이 - 코드 조각, 링크에 기본적으로 사용자 탭이

<li class="someCSS-name" id="linkoneli"> 
    <a href="someURL" id="linkonenav">Link One</a> 
    <div class="list-item">show this content</div> 
</li> 

어떻게 든 내 탭/keypress .. 바인딩 된 될 수 있습니까? 그래서 탭

+0

시도를 시도 : http://jsfiddle.net/kXWUZ/ 나는 당신의 응답을 주셔서 감사합니다 – dfsq

답변

2

, 당신은 그 효과를 얻을 것입니다. 여기에 필요한 스 니펫이 있습니다.

#linkonenav:focus ~ .list-item { 
    display: block; 
} 

jsFiddle 당신의 리튬에`tabindex`을 추가 http://jsfiddle.net/greenrobo/eLCmM/

+0

CSS 선택기에서'~'와'+'를 사용하면 요소의 형제를 선택할 수 있습니다. '~'은 [General Sibling Selector] (http://reference.sitepoint.com/css/generalsiblingselector)이고'+'는 [Adjacent Sibling Selector]입니다 (http://reference.sitepoint.com/css/adjacentsiblingselector). –

+0

나는 이것을 좋아한다. 특정 브라우저에서만 작동합니다. 또한, 이렇게 사용할 수 있습니다. .some-selector-css : focus ~> .second-selector {display : block} --->이 경우 "왜"탭이 작동하는지 이해하지 못했습니다. 감사. –

+0

'+'는 CSS2에서,'~'은 CSS3에서 가져올 수 있습니다. 모든 주요 브라우저는 현재 CSS3가 널리 보급됨에 따라 두 브라우저를 모두 지원할 것입니다. 위에 제공된 링크에서 브라우저 호환성을 확인할 수 있습니다. 두 개의 연속 된 심볼 선택자 ('>'및'~')가 있으므로'.some-selector-css : focus ~> .second-selector {display : block} '을 사용할 수 없다고 생각합니다. 나는 이것을 '.some-selector-css : focus ~ .sib> .second-selector {display : block}'처럼 할 것을 제안 할 것이다. –

1

가장 쉬운 방법은 즉 호버링 CSS를 ON/OFF 설정됩니다 단지 키를 누를 때 너무

$('.myElements').toggleClass('someCSS'); 

에 .someCSS를 전환하는 것입니다 .. '호버'등과 같은 것입니다. 그냥 가져가가 켜지 어떤 스타일 전환하려는 오프, 단지 .active는 클래스에 그 스타일을 이동하고 그 클래스를 전환하면 대신 그래서

당신이 앵커 요소의 포커스 상태에 CSS 선택기를 사용 사실 경우
$('.someCSS').toggleClass('.active'); 
+0

- 그래,이게 내가 언급 한 것입니다 탭 순서 등을 통해 작동해야하고 위에 무엇을해야합니다. 나는 이것을 사용해야 할 수도있다. 하지만 jQuery.inherit ('focus',. SomeCSS-name, 'tab') .. hahah와 같은 일을하는 jquery 방법이 있었으면합니다. 내 부분에 희망찬 생각. –

+0

비밀 부두가있을 수도 있지만 javascript/css 이벤트는 별개라고 생각합니다. 나는 다른 사람을 방아쇠를 당길 수있는 어떤 방법이 있는지 모른다. – hobberwickey

관련 문제