js day22

一、事件流

1.绑定事件

想要给一个元素绑定事件,我们有两种方法:使用内联事件或事件监听器。在之前的课程中,我们一直使用的是内联事件来为元素绑定事件
<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)内联事件

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

//无限制第为元素绑定事件

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

2)事件监听

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)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 29,146评论 1 45
  • $HTML, HTTP,web综合问题 1、前端需要注意哪些SEO 2、 的title和alt有什么区别 3、HT...
    Hebborn_hb阅读 4,814评论 0 20
  • 1.几种基本数据类型?复杂数据类型?值类型和引用数据类型?堆栈数据结构? 基本数据类型:Undefined、Nul...
    极乐君阅读 5,931评论 0 106
  • 前端开发面试题 面试题目: 根据你的等级和职位的变化,入门级到专家级,广度和深度都会有所增加。 题目类型: 理论知...
    怡宝丶阅读 2,717评论 0 7
  • 1 “初语笑,初语笑,下来!”周六晚21点,女生院楼下就这样传来一声声...
    爱新觉罗ING阅读 477评论 0 1

友情链接更多精彩内容