이벤트 거품 차단(stopPropagation 및 cancelBubble)

4446 단어 Propagation
<div id="divId1" style="width:500px;height:500px;background-color:#3ac;text-align:center;" align="center">

            <div id="divId2"  style="width:400px;height:400px;background-color:#f1f; margin:0 auto;">   </div>

        </div>



        document.getElementById('divId1').onclick = function(){

            alert('divId1');

        }

var eleDiv2 = document.getElementById('divId2');

        if(eleDiv2.addEventListener){

            eleDiv2.addEventListener('click',function(evt){

                alert('divId2');

                evt.stopPropagation();

            },false);

        }else{

            eleDiv2.attachEvent('onclick',function(evt){

                alert('divId2');

                evt.cancelBubble = true;

            });

        }

 
    //        

     function stopBubble(e) {  

         if (e && e.stopPropagation) {// IE  

             e.stopPropagation();  

         }  

         else {//IE  

             window.event.cancelBubble = true;  

         }  

     }  







function stopDefault(e) {  

     //         (W3C)  

     if (e && e.preventDefault)  

         e.preventDefault();  

     //IE               

     else  

         window.event.returnValue = false;  

     return false;  

 }  

좋은 웹페이지 즐겨찾기