2013-08-08 20 views
0

그 중 하나에 키보드 포커스가있을 때 퇴색하고 싶은 항목 목록이 있습니다. 키보드 포커스가있는 것이 흐려져서는 안됩니다.초점이 맞춰지면 다른 요소가 흐려짐

나는 호버와 비슷한 일을 그렇게처럼 달성했습니다

// Recede other locations when one is hovered. 

$('li').hover( 
    function() { 
    $('li:not(:hover)').addClass('recede'); 
    }, 
    function() { 
    $('li').removeClass('recede'); 
    } 
); 

을하지만, .focus()와 비슷한에 최선 시도가 작동하지 않습니다 ...

// Recede other locations when one is focussed. 
$('li').focus(function() { 
    if (!$('li').is(":focus")) { 
    $location_item_no_touch.addClass('recede'); 
    } 
}); 

$('li').blur(function() { 
    $('li').removeClass('recede'); 
}); 

몇 가지 방법을 시도했지만 :focus으로 항목을 가져 오면 .recede 클래스를 추가하지 못하는 것 같습니다. 내가 잘못 가고있는 어떤 생각?

+1

가 바이올린을 추가하려고합니다. 우리가 쉽게 시도 할 수있을 것입니다. –

답변

1

이 시도 :

// Recede other locations when one is focussed. 
$('li').focus(function() { 
    $('li').removeClass('recede'); 
    $(this).addClass('recede'); 
}); 

$('li').blur(function() { 
    $('li').removeClass('recede'); 
}); 

나는 가정 당신의 .recede는 당신이 필요로하는 페이드를 적용합니다.

+0

방금 ​​동료와 함께이 솔루션에 도착했습니다. 다른 요소에서 요소를 대상으로 $ (this)를 사용해야했습니다. 감사. –

+0

더 정확하게하려면 다음을 수행했습니다. '$ (li) .not ($ (this)). addClass ('recede ');' –

+0

@ Don'tWakeMeUp. 다행 했어. – Sergio

0

는이

.bind('keydown', function() { isClick = false; }) 

LIVE DEMO

+1

나는 선택된 입력 유형을 페이드 아웃했다. 그러나 당신은 당신이 그 입력 타입을 가진 핸들러에서 원하는대로 할 수있다. 이것이 당신의 에러를 해결할 수 있기를 희망한다. –

관련 문제