2011-09-08 9 views
0

divs가있는 html 문서가 있습니다.Chrome 자바 스크립트 : 이벤트 버블 링 질문

<div id='divTop'> 
    <div id='divChild'></div> 
</div> 

문서 끝 부분 :

var top = document.getElementById('divTop');  
lib.addEvent(top, 'click', function() { alert('top'); }); 
var child = document.getElementById('divChild'); 
lib.addEvent(child, 'click', function() { alert('child'); }); 
var body = document.getElementsByTagName('body')[0]; 
lib.addEvent(body, 'click', function() { alert('body'); }); 
// lib.addEvent is just helper function. 
//It uses domEl.addEventListener or domEl.attachEvent 

두 개의 div 및 본문에 대한 click 이벤트가 있습니다. 그래서 하위 div를 클릭하면 다음과 같은 순서로 경고를 기대합니다 : child, top, body. 크롬을 제외한 모든 브라우저에서이 결과를 얻었습니다. 크롬에서는 다음과 같은 결과를 얻습니다.

여기에 뭔가가 빠졌습니까? 고마워!

+0

당신이 바이올린이를 넣을 수 있습니다 최고라는 이름 때문에 그것은, 이름을 변경해야 하는가? –

+0

잘 읽으십시오 : http://www.quirksmode.org/js/events_order.html –

+0

예, 읽었습니다. 그러나 아직도, 왜 시체 이벤트가 중간에 발생합니까? – york2k

답변

1

발견 된 문제! 변수 'top'을 사용해서는 안됩니다.

var top = document.getElementById('divTop'); 

창 개체가 이미 때에 프로퍼티는

관련 문제