2012-09-18 8 views
0

JavaScript에서 임의의 요소가 포커스를 잃었을 때이를 감지 할 수 있기 때문에 jEdit과 유사한 인라인 편집 도구를 빌드 할 수 있습니다. 이 라이브러리의 jQuery에 의존 할 수 없으므로이를 수행하기위한 원시 메소드가 필요합니다.JavaScript에서 포커스 손실 감지

필자는 onblur를 보았는데, 이는 옳은 것처럼 보였지만 MDN에는 IE 특정 일 수 있다고 제안하는 메모가 있습니까? 요소의 거의 모든 종류가 흐림 이벤트를받을 수있는 - - MSIE는 달리

Gecko 브라우저의 요소의 거의 모든 종류는이 이벤트에 을 작동하지 않습니다.

어떤 요소가이 기능과 함께 작동 할 것인가/좋지 않을지를 감지하는 더 좋은 방법이 있습니까?

흐림 효과가있는 경우 https://developer.mozilla.org/en-US/docs/DOM/element.onblur의 문서를 변경해야합니까?

+0

http://stackoverflow.com/questions/1529374/html-on-change-onblur-compatibility –

+0

문제가있는 코드를 게시하십시오. –

답변

1

body 요소에 onfocusout을 사용할 수 있습니다. onbluronfocusout의 차이는 후자가 거품을 일으키므로 원하는 모든 노드에 설치할 필요가 없다는 것입니다.

그러나 onfocusout은 브라우저가 아니며 IE의 기능으로 표준이 아닙니다. 버블하지 않는다는 점을 제외하면 현재 브라우저에서 onblur을 설정하는 데 어떤 문제가 있는지 알 수 없습니다.

흐림이 발생할 때마다 알림을받는 유일한 해킹은 변경 사항이 나타날 때 document.activeElement을 폴링하고 이벤트를 발생시키는 것입니다. Detect which form input has focus using JavaScript or jQuery

+0

IE에서 작동하는 버블 링 버전이 없습니까? – ForbesLindesay

+0

은 모든 브라우저에서 안정적으로 제공되지 않습니다. –

관련 문제