Webapi dom中两种注册事件语法特点

136 阅读1分钟
<div id="box" style="width: 100px;height: 100px;background-color: red"></div>

dom中注册事件有两种方法 1.点语法注册事件: 事件源.事件类型 = 事件处理函数 特点: 不能注册'同名事件',否则会被覆盖.

2.事件源.addEventListener('时间类型',事件处理函数) 特点: 可以注册同名事件 依次触发

   let box = document.querySelector('#box')
   
   // 点语法
   box.onclick = function (){
       alert('兰花指捻红尘似水')
   }
   
   // 点语法移除事件  给其赋值null即可
   box.onclick = null
   
   
   // 事件源.addEventListener()
   // 里面相当于放入了两个形参 'click'  和 function(){}
   box.addEventListener('click',function(){
      alert('三尺红台万事如歌吹')
   })
   
   let fn = function(){
      alert('昔年故园飞雪望春迹')
   }
   / * 
   fn    :   取出函数堆地址(函数也是一种数据类型 也可以像变量一样赋值)
   fn()  :   调用函数
    * /
   
   // 调用函数
   box.addEventListener('click',fn)
   
   
   // 移除事件 : 参数与addEventListener一致
   // 注意: 只能移除具名函数 无法移除匿名函数 !!!
   box.removeEventListener('click',fn)