js day22

一、事件流

1.綁定事件

想要給一個元素綁定事件,我們有兩種方法:使用內(nèi)聯(lián)事件或事件監(jiān)聽器。在之前的課程中,我們一直使用的是內(nèi)聯(lián)事件來為元素綁定事件
<button id='btn1'>按鈕1</button>
<button id='btn2'>按鈕2</button>
    <script type="text/javascript">
        var btn1=document.getElementById('btn1');
        var btn2=document.getElementById('btn2');

1)內(nèi)聯(lián)事件

btn1.onclick=function(){
    alert(1111);
}

//無限制第為元素綁定事件

btn1.onclick=function(){
    alert('btn1,第一次綁定');
}
    btn1.onclick=function(){
        alert('btn1,第二次綁定');
}

2)事件監(jiān)聽

btn2.addEventListener('click',function(){
    alert(2222);
})
</script>

//無限制第為元素綁定事件

btn2.addEventListener('click',function(){
    alert('btn2,第一次綁定');
})
    btn2.addEventListener('click',function(){
        alert('btn2,第二次綁定');
})

二、事件冒泡與事件捕獲

1.事件冒泡

css樣式

*{
    margin:0;
    padding:0;
}
#div1{
    width:300px;
    height:300px;
    background: #f00;
    line-height: 300px;
}
#div2{
    width:200px;
    height:200px;
    background: #f0f;
    line-height: 200px;
}
#div3{
    width:100px;
    height:100px;
    background: #0ff;
}

div

<div id='div1'>
    <div id='div2'>
        <div id='div3'></div>
    </div>
</div>

script

var div1=document.getElementById('div1');
var div2=document.getElementById('div2');
var div3=document.getElementById('div3');
div1.addEventListener('click',function(){
    console.log('我是div1');
})

div2.addEventListener('click',function(){
    console.log('我是div2');
})
div3.addEventListener('click',function(){
    console.log('我是div3');
})

2.事件捕捕獲

css樣式

*{
    margin:0;
    padding:0;
}
#div1{
    width:300px;
    height:300px;
    background: #f00;
    line-height: 300px;
}
#div2{
    width:200px;
    height:200px;
    background: #f0f;
    line-height: 200px;
}
#div3{
    width:100px;
    height:100px;
    background: #0ff;
}

div

<div id='div1'>
    <div id='div2'>
        <div id='div3'></div>
    </div>
</div>

script

var div1=document.getElementById('div1');
var div2=document.getElementById('div2');
var div3=document.getElementById('div3');
div1.addEventListener('click',function(){
    console.log('我是div1');
},true)
div2.addEventListener('click',function(){
    console.log('我是div2');
},true)
div3.addEventListener('click',function(){
    console.log('我是div3');
},true)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 28,809評論 1 45
  • $HTML, HTTP,web綜合問題 1、前端需要注意哪些SEO 2、 的title和alt有什么區(qū)別 3、HT...
    Hebborn_hb閱讀 4,774評論 0 20
  • 1.幾種基本數(shù)據(jù)類型?復(fù)雜數(shù)據(jù)類型?值類型和引用數(shù)據(jù)類型?堆棧數(shù)據(jù)結(jié)構(gòu)? 基本數(shù)據(jù)類型:Undefined、Nul...
    極樂君閱讀 5,878評論 0 106
  • 前端開發(fā)面試題 面試題目: 根據(jù)你的等級和職位的變化,入門級到專家級,廣度和深度都會有所增加。 題目類型: 理論知...
    怡寶丶閱讀 2,682評論 0 7
  • 1 “初語笑,初語笑,下來!”周六晚21點,女生院樓下就這樣傳來一聲聲...
    愛新覺羅ING閱讀 438評論 0 1

友情鏈接更多精彩內(nèi)容