0

이벤트 버블 링을 알아 내려고 악몽을 갖는 ..자바 스크립트 이벤트 버블 링 작동하지 않음으로 예상

Full test case : 내가 3을 트리거한다 빨간색 테두리 내부의 영역을 클릭 이해하는 바로는

<html> 
<head> 
<script type="text/javascript"> 
function $(ob) { return document.getElementById(ob) } 

function bodyClick() 
{ 
    $('win_clicks').value = parseInt($('win_clicks').value) + 1; 
} 

window.addEventListener('load',function(e) 
{ 
    $('bl_lnk').addEventListener('click',function (e) 
    { 
    $('bl_lnk_clicks').value = parseInt($('bl_lnk_clicks').value) + 1; 
    }, true); 

    $('rd_lnk').addEventListener('click',function (e) 
    { 
    $('rd_lnk_clicks').value = parseInt($('rd_lnk_clicks').value) + 1; 
    }, false); 

}, false); 
</script> 
</head> 

<body onclick="bodyClick();" style="font:16px Tahoma"> 

<div id="bl_lnk" style="position:absolute; width:250px; top:100px; left:50%; margin-left:-125px; padding:20px; background:#AAFFFF; border:1px solid #55AAFF; text-align:center; cursor:pointer"> 
    I'm a link, Click me! &nbsp; &nbsp; &nbsp; &nbsp; and me! 
</div> 

<div id="rd_lnk" style="-moz-border-radius:40px; border-radius:50px; position:absolute; width:60px; height:40px; top:103px; left:50%; margin-left:77px; padding:5px; border:3px solid #FF6666; cursor:pointer"></div> 

<div style="position:absolute; width:250px; top:200px; left:50%; margin-left:-125px; padding:20px; background:#fff6bf; border:1px solid #FFD324;"> 
    <table cellspacing="10"> 
    <tr> 
     <td>Blue Link Clicks:</td> 
     <td><input type="text" id="bl_lnk_clicks" value="0" style="width:35px; border:0; background:transparent" /></td> 
    </tr> 
    <tr> 
     <td>Red Link Clicks:</td> 
     <td><input type="text" id="rd_lnk_clicks" value="0" style="width:35px; border:0; background:transparent" /></td> 
    </tr> 
    <tr> 
     <td>Body Clicks:</td> 
     <td><input type="text" id="win_clicks" value="0" style="width:35px; border:0; background:transparent" /></td> 
    </tr> 
    </table> 
</div> 

</body> 
</html> 

이벤트 처리기 (빨간색, 파란색 & 본문), 오직 빨간색과 시체가 트리거됩니다.

addEventListener의 세 번째 값을 변경하고 반환 값을 변경했지만 아무런 도움이되지 않은 아이디어가 있습니까?

D.

+2

시간을 투자하지 않고 맹세하지는 않겠지 만 사양을 확인하지 않아도되지만 레이아웃을 통하지 않고 DOM 계층 구조를 통해 이벤트가 붕괴 될 것이라고 나는 믿습니다. – Quentin

답변

3

빨간 DIV 안에 있어야한다 (구조적으로 당신의 HTML에서가 아니라 시각적으로) 이벤트가 파란색 사업부로 전파 할.

관련 문제