2012-05-17 3 views
10

에 포커스를 잃으려면 <option>을 선택해야합니다. 이 초점 체크를 제거하지 않고jQuery : 요소에 초점을 잃으십시오.

http://jsfiddle.net/MnAdN/

.

if (... !$('#adm1n-toolbar form select').is(':focus')) 

사용자가 선택을하는 동안 툴바가 표시되고 선택이 완료되면 숨겨져 야합니다.

감사합니다.

+0

포커스 이벤트가없는 다른 요소에 포커스를 설정하는 방법은 어떻습니까? –

+0

당신의 수수께끼는 존재하지 않는 다음의 선택자를 포함합니다 :'$ ('# adm1n-toolbar-content select')' – Blazemonger

+0

네. 그러나 그것은 제 원본에 있습니다. =)) 나는 덜 마셔야한다 ... (이상) ... =) –

답변

16

는이처럼 blur() 방법을 사용할 수 있습니다 :

$("#adm1n-toolbar form select").change(function() { 
    $(this).blur(); 
}); // after something has been selected 
+0

이것은 작동하지 않는다. http://jsfiddle.net/MnAdN/2/ –

+0

메뉴에서 무언가를 선택한 후에 전화 하시겠습니까? 내가 너 같은 것을 채찍질 할 수 있는지 알아 보자. –

+0

.change()는 선택이 완료되었을 때 호출되는 무언가라고 생각했습니다. –

4

트리거 흐림 이벤트 :

$('#yourSelect').blur(); 
2

그냥 도구 모음 떨어져 초점을 강제로 :

$('#adm1n-toolbar select').trigger('blur'); 

사용하여 jsFiddle :

$('#adm1n-toolbar') 
    .mouseenter(function() { 
     var toolbarposition = $(this).position(); 
     if (toolbarposition.top < 0) { 
      $(this).animate({top: '0'}, 300); 
     } 
    }) 
    .mouseleave(function() { 
     var toolbarposition = $(this).position(); 
     if (toolbarposition.top >= 0 && !$('#adm1n-toolbar form select').is(':focus')) { 
      $(this).animate({top: '-115'}, 300); 
     } 
    }); 

$('#adm1n-toolbar select').change(function(e) { 
    e.preventDefault(); 
    $(this).trigger('blur'); 
}); 

관련 문제