2011-04-06 3 views
2

jQuery 이벤트 $(selector).blur();을 호출하면 trigger이 호출되고 blur 이벤트 핸들러가 실행된다는 것을 알고 있습니다.jQuery의 blur 이벤트는 페이지의 다른 요소에 포커스를 둡니까?

페이지에 다른 요소를 지정합니까? 예 : 문서, 몸, 초점?

N.B. 이 과정은 상당히 단순하지만 jQuery API 또는 SO 또는 Google에 대한 세부 정보는 찾지 못했습니다.

+0

내 편집을 참조하십시오. 그것은 IE에서 다릅니다. –

답변

1

다른 요소에 초점을 맞추지 않는다고 생각합니다. 포커스를 완전히 없애는 것처럼 보입니다 (실제로 IE에서는 편집을 볼 수 없음). 나는이 라인을 따라 jsfiddle example를 유선 : 모든 요소가 포커스를받을 때 자바 스크립트 기본적으로

$(function() { 
    $('*').focus(function() { 
     alert(this.id); 
    }); 
    $('input').keypress(function(evt) { 
     if (evt.which == '13') { 
      $(this).blur(); 
      evt.preventDefault(); 
     } 
    }); 
}); 

HTML

<div id="test"> 
    <input id="test2" /> 
    <input id="test3" /> 
    <input id="test4" /> 
</div> 

, 그것은 경고 당신은 어떤에서 Enter 키를 누르면 입력란 중 .blur()을 호출합니다. Opera에서는 다른 요소에 초점이 맞춰지지 않습니다. Firefox에서는 경고 상자가 요소에서 멀리 떨어져 있으므로 alert() 대신 console.log()을 사용해야하지만 그렇지 않은 경우 동일한 방식으로 작동합니다.

편집
나는 IE에서 그것을 확인하고는 그 초점이 본문 요소로 변경 보인다. alert(this.id); 대신 이 있으면 입력이 잃어 버리면 body 요소가 포커스를 얻는다 고합니다.

관련 문제