关于点击事件onclick 和 addEventListener的思考

关于点击事件onclick 和 addEventListener的思考

基本写法

box.onclick = function(){
    console.log('onclick 点击');  
}

box.addEventListener('click', function(){
    console.log('EventListener 点击');
});

onclick 和 addEventListener 联系

两者都可以监听到点击事件

onclick 和 addEventListener 区别

on执行事件的特点:

如果多次执行,会覆盖掉之前的执行,只保留最后一次

addEventListener执行事件的特点:

所有的事件都会被触发,遵循的是冒泡规律

addEventListener

语法

element.addEventListener(event, function, useCapture)

参数值
参数 描述
event 必须:指定事件名
function 必须:指定事件触发时执行的函数
useCapture 可选: 布尔值. true 事件句柄在捕获阶段执行 false 事件句柄在冒泡阶段执行

需求一:

假如有一个盒子,在页面的某一个地方,我需要监听盒子的点击。在请求完之后,我需要再次监听盒子的点击。也就是说,盒子会被多次点击,但是每次点击执行的东西不一样。

可以这样写:

box.onclick = function(){
     console.log('onclick 电击');
}

box.onclick = function(){
    console.log('onclick 二次点击');
}

思考一下,这样写有没有逻辑问题?语法问题?执行后是什么效果?

答案是:始终执行第二次,第一次点击被覆盖掉了

真正的需求是,每次点击都必须监听到,所以嘞?

box.addEventListener('click', function(){
    console.log('EventListener 点击');
});

box.addEventListener('click', function(){
    console.log('EventListener 二次点击');
});
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 声明:本文来源于http://www.webzsky.com/?p=731我只是在这里作为自己的学习笔记整理一下(...
    angryyan阅读 7,080评论 1 6
  • 知识点整理来源于网上。详细的介绍推荐直接看API文档。 DOM 功能 对元素的增查删改① 查询某个元素② 查询某个...
    纸简书生阅读 465评论 0 0
  • 以下文章为转载,对理解JavaScript中的事件处理机制很有帮助,浅显易懂,特分享于此。 什么是事件? 事件(E...
    jxyjxy阅读 3,064评论 1 10
  • HTML DOM 使 JavaScript 有能力对 HTML 事件做出反应。如下的代码: 点击文本,文字会变...
    路墨阅读 375评论 0 2
  • 我再一次弄丢了它们,我寻找整个房间以及所有我经过的路,我很少去更远的地方,总是两点一线,但即使这样沿途依旧找不到,...
    常懒zZ阅读 181评论 0 1