2013-05-22 3 views
1

열려있을 때 흐리게 선택 메뉴를 원합니다. 작은 함수를 만들었습니다. 마우스로 태그를 가리키면 함수가 호출됩니다. 다른 브라우저에서는 제대로 작동하지만 크롬에서는 작동하지 않습니다. fiddle크롬에서 선택 메뉴가 흐리게 작동하지 않습니다.

재현 버그 : 선택 메뉴를 열고 클릭하고 앵커 태그를 선택 메뉴를 열고 가져가하면 나도 같은 문제를 겪고 그

<select id="selectboxId"> 
....... 
</select> 

    $ ('#selectboxId').trigger('blur'); 
+0

http://stackoverflow.com/questions/10851882/close-a-select-dropdown-list-programatically -with-javascript-jquery - 여기에서 두 번째 대답은 크롬 문제 – smerny

+0

@amit를 다루는 것 같다.'.blur()'로 달성하려는 것을 설명 할 수 있습니까? –

+0

먼저 초점을 두십시오 – Pinch

답변

3

에 대한 .trigger()를 사용할 필요가

<head> 
<script type="text/javascript" src="jquery-1.8.3.js"></script> 
<script type="text/javascript"> 
$(function(){ 
    $('a').hover(function(){ 
    $('select').blur(); 
    }) 
}) 
</script> 
</head> 
<body> 
<select> 
<option>Test</option> 
<option>Test</option> 
<option>Test</option> 
<option>Test</option> 
<option>Test</option> 
<option>Test</option> 
<option>Test</option> 
</select> 
<a href="#">hover me</a> 
</body> 
</html> 
+0

이것은 멋진 트릭입니다 – Carlos

+0

포커스를 임의의 요소로 떨어 뜨리는 접근성에 영향을 미치지 않습니까? 요소를 통해 탭하는 사용자가 좌초하는 것처럼 보입니다. 접근하기 쉬운 솔루션을 이용할 수 있습니까? – AJFarkas

+0

이것은 트릭을 만들었습니다. '$ ("select") .break()는 IE, Edge 및 Chrome에서 작동하지만 Firefox는 작동하지 않습니다. blur() .css ({ "display": "inline"});'모든 것을 가로 질러 트릭을 했어. –

-1

닫아야합니다 아이디어는 분명합니다. 크롬과 사파리가 대답을 기다리기 때문에 열린 요소를 흐리게 처리 할 수 ​​없습니다. 그러나 수락 가능한 해결 방법이 있습니다.

먼저 "선택"이 활성화되어있는 동안 다른 요소에 포커스를 설정할 수 없으므로 "표시 : 없음"을 적용하여 제거했습니다. 그런 다음 다른 무해 요소에 대해 클릭 이벤트를 트리거합니다. 그런 다음 display : block을 설정하여 select back을 다시 추가합니다. 이 경우, 코드 (클릭하기 전 스팬을 추가합니다)과 같습니다

....... 
<select> 
<option>Test</option> 
...... 
</select> 
<a href="#">hover me</a> 
<span class="clickable">element clicked</span> 
....... 
<script type="text/javascript"> 
$(document).ready(function(){ 
    jQuery("a").mouseenter(function(){ 
     $("select").css({'display':'none'}); 
     $("span.clickable").focus().click(); 
     $("select").css({'display':'block'}); 
    });  
}); 
</script> 
+0

왜 downvote.methe 이유를주십시오. – PSR

+1

나는 downvote ..하지 않았지만 ..'.blur()'는'.trigger ('blur')의 지름길'see api'->'http://api.jquery.com/blur/ –

+0

아니요 수동으로 그렇게하지 않고 blur 이벤트를 발생시키고 싶을 때 우리는 방아쇠를 사용합니다 – PSR

관련 문제