初识事件

65 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第8天,点击查看活动详情

一个事件的组成

 触发谁的事件:事件源
 触发什么事件:事件类型
 触发以后做什么:事件处理函数
 
 我们举个例子:
 odiv.onclick=function(){    //这里的odiv就表示事件源
        console.log('1111');   //后面跟着的函数就是触发之后要做什么的函数
    }  //还有一个就是事件类型 在dom0(关于这是什么后面说)中类型指的是click事件
       //而click前面的on意思就是为这个事件源绑上这个单击事件
       

这里顺便说说如何给我们的事件源绑定事件

有两种方法添加事件:
1:dom0类型

这就是跟上面的例子一样,不过它是有缺点的 如果你要给他绑定多个事件,写在后面的事件就会覆盖前面的事件

2. dom2类型

在用dom2类型绑定事件就不一样了,它可以多个事件一起触发互不影响。不会出现像dom0类型中的那样后写的覆盖在前面写的,dom2相比dom0写起来就是比较复杂,事件源、事件类型、事件处理函数比较清晰。

  //事件1 在控制台中输出11111
  box2.addEventListener('click',function(){
        console.log("11111");
    })
    // 事件2 在控制台中输出3333
    box2.addEventListener('click',function(){
        console.log("3333");
    })
       

事件解绑

还是我们这两种类型(dom0/dom2)的解绑,解绑事件一般都用于一些使用过几次后就失效
1:dom0类型

在我们给事件源绑定某个事件类型的事件处理函数时,在最后把事件源的这个事件类型赋值为空,这样就能将事件解绑

2. dom2类型

removeEventListener在原本要处理的函数最后添加上这个方法

 //这边的事件函数尽量单独写,容易写错导致解绑不成功
 function fn(){  
        console.log("asd");
        btn.removeEventListener('click',fn)
    }
    btn.addEventListener('click', fn)