通过HTML指定事件处理程序


🔥使用一个与相应事件处理程序同名的元素属性来指定事件

  • 由于其值是javascript代码(可以是具体的操作,或是调用脚本),因此不能使用未经转义的HTML语法字符,如<、>、&、""等,将其值设置为null即可删除事件处理程序
  • 事件处理程序在执行时,有权访问全局作用域中的任何代码
  • 这样指定事件处理程序的独到之处:
    会创建一个封装着元素属性值的函数,其中有一个event变量,通过它可以直接访问事件对象🔴,在这个函数内部,this等于事件的目标元素🔵,在其内部,它使用with扩展了作用域,使得我们无需引用元素就能访问字段🔶
  • 这样指定事件处理程序的缺点:
    HTML与javascript紧密耦合;
    扩展事件处理程序的作用域链时会因浏览器不同而导致不同的结果;
    HTML元素与事件存在响应时差;

DOM0级事件处理程序——将一个函数赋值给一个事件处理程序属性


  • 每个元素都有自己的事件处理程序属性,如onclick
  • 这种方式指定的事件处理程序在元素的作用域中运行:此时的this引用当前元素🔷
  • 这种方式指定的事件处理程序在事件流的冒泡阶段被处理

DOM2级事件处理程序——addEventListener()和removeEventListener()

posted on 2021-10-12 01:05  KK的备忘录  阅读(48)  评论(0)    收藏  举报