2014-03-03 5 views
0

<div> 어린이들 사이에서 포커스를 전환 할 때 기능을 실행하고 싶습니다. (어린이는 <span> s입니다. 나는 각 자식의 blur 이벤트에 함수를 바인딩하여이 문제를 처리 할 수 ​​있지만 잠재적으로 많은 자식 요소를 만들고 (파괴하는), 자식 자체에 함수를 바인딩하지 않으려합니다.어린이를 전환 할 때 초점을 맞추고 DOM을 위로 흔들면 어떻게됩니까?

클릭이나 마우스 오버와 같은 많은 이벤트에서 이벤트가 DOM을 버블 링하고 부모 div에서 동일한 이벤트를 발생 시켜서 잡아서 처리 할 수 ​​있음을 알고 있습니다. 그래도 흐림 및 포커스 이벤트가 얼마나 거품이 나는지 잘 모르겠습니다. 그것은 부모 중 하나가 초점을 가지고 있기 때문에 여전히 초점을 가지고있는 것처럼 보이지만, 자바 스크립트는 이상하고 아름다운 생물입니다.

요소의 자식 사이를 변경할 때 흔들리는 흐림/포커스 이벤트를 사용하거나 자식 사이의 포커스 변경을보다 잘 처리 할 수 ​​있습니까?

답변

1

버블 링 흐림 효과와 함께 잘 작동하고 IE는 onfocusin 사용하고 onfocusout 대신

var myElem = document.getElementById("foo"); 
myElem.addEventListener('blur', function(evt) { 
    var elem = evt.srcElement || evt.target; 
    console.log("blur: " + elem.name); 
}, true); 
myElem.addEventListener('focus', function(evt) { 
    var elem = evt.srcElement || evt.target; 
    console.log("focus: " + elem.name); 
}, true); 

초점을 맞추어야한다.

http://jsfiddle.net/p6bAL/

관련 문제