JS:Dom0 Dom2

事件的概念:事件就是用户与浏览器交互后执行的某种动作,而响应某个事件的函数就叫做事件处理程序(事件侦听器);

HTML事件处理程序的缺点:时差问题,用户可能会在HTML元素一出现在页面上就触发响应的事件,但当时的事件处理程序有可能尚不具备执行条件,就会引发错误;
扩展事件处理程序的作用域链在不同浏览器中会导致不同结果,不同JavaScript引擎遵循的标识符解析规则略有差异,很可能会在访问非限定对象成员时出错;

Dom中的事件对象:
事件对象: 在触发DOM上的某个事件时,会产生一个事件对象event,这个对象中包含所有与事件相关的信息;

event上的属性:
type: 被触发的事件的类型;
target: 事件目标;

DOM0:通过JavaScript指定事件处理程序的传统方式,就是将一个函数赋值给一事件处理程序属性,这种方式是所有现代浏览器都支持;
优势:简单具有跨浏览器的优势小缺陷只能绑定一次事件处理程序给元素绑定事件(都是小写)element.onclick = function () {};给元素解绑事件element.onclick = null;

DOM2级事件定义了两个方法,用于处理绑定和删除事件处理程序的操作;
绑定:XXX.addEventListener(事件名,函数,是否捕获);
true: 在捕获阶段调用事件处理程序;
false: 在冒泡阶段调用事件处理程序;
可以多次绑定不同的事件处理程序,并且会按照它们的绑定顺序执行;

解绑:removeEventLitener(事件名,函数,是否捕获);

IE中也有两种方法:
绑定:
XXX.attachEvent(事件名,函数);
IE只支持冒泡,并不支持捕获;

解除:
XXX.detachEvent(事件名,函数);

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 3,538评论 1 11
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 5,162评论 0 21
  • JavaScript 与 HTML 之间的交互是通过事件实现的。事件,就是文档或浏览器窗口中发生的一些特定的交互瞬...
    LemonnYan阅读 699评论 0 4
  • 个人博客:https://yeaseonzhang.github.io 花了半个多月的时间,终于又把“JS红宝书”...
    Yeaseon阅读 1,790评论 2 23
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,142评论 1 32