JavaScript22

一、事件流

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)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 通过jQuery,您可以选取(查询,query)HTML元素,并对它们执行“操作”(actions)。 jQuer...
    枇杷树8824阅读 669评论 0 3
  • jQuery 入口函数: $(function(){ // 执行代码 }); jQuery 选择器: 元素选择器 ...
    Hassd阅读 379评论 0 1
  • 事件绑定的方式 给 DOM 元素绑定事件分为两大类:在 html 中直接绑定 和 在 JavaScript 中绑定...
    Bruce_zhuan阅读 1,054评论 0 6
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,626评论 1 45
  • 在那些桂工广为流传的段子里, 专业 永远是不变的话题。 你的专业是什么呢? 资源勘查工程? 化学工程与工艺? 旅游...
    秋夜寒阅读 522评论 0 0