2011-01-10 7 views
2

텍스트 입력이 focusin/focusout 이벤트에 바인딩되어 있습니다. focusoutjquery focusout 이벤트가 없습니다. relatedTarget 정보

$(element) 
    .focusin(function(e) {}) 
    .focusout(function(e) { 
     var to = e.relatedTarget || e.toElement; 
     // undefined in chrome, fine in IE 
    }); 

가 나는 relatedTarget 정보에 관심이있어, 즉, 텍스트 입력으로 포커스를 수용 DOM 요소가 포커스를 잃을 그러나 이러한 속성은 이벤트 undefined이다.

toElement 인터넷 익스플로러가 relatedTarget에 해당한다고 생각합니다. 즉, 내 focusout 처리기는 IE에서는 정상적으로 작동하지만 다른 브라우저에서는 정상적으로 작동하지 않습니다.

위의 제한에 대한 해결 방법이 있습니까? the MDC docs에서

답변

-1

:

만 MouseEvent는 그렇게 relatedTarget가 설정되어 있지 않은,

focusout는 마우스 이벤트 아닌이 속성이 있습니다. IE는 여기에 표준을 따르지 않습니다 (새로운 기능은 무엇입니까?).

+0

감사합니다. 나는 대신 mousedown을 사용할 수 있다고 생각합니다. –

+0

@ob 해당 페이지를 읽는다면 * 일부 마우스 이벤트에만'relatedTarget'이 설정되었다는 것을 설명 할 것입니다. 'mousedown '은 그들 중 하나가 아닙니다. 그것은 의미 론적 의미를 갖지 않습니다. – lonesomeday

+0

맞지만 mousedown에서는 e.target을 확인할 수 있습니다. 이 경우 반드시 relatedTarget이 필요하지는 않습니다. –