美文网首页
关于点击事件onclick 和 addEventListener

关于点击事件onclick 和 addEventListener

作者: 凸小布 | 来源:发表于2017-02-19 14:34 被阅读194次

    关于点击事件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 二次点击');
    });

    相关文章

      网友评论

          本文标题:关于点击事件onclick 和 addEventListener

          本文链接:https://www.haomeiwen.com/subject/nyinmttx.html