在各种浏览器中存在三种事件模型:原始事件模型、DOM事件模型和IE事件模型

一、原始事件模型:

原始事件模型被所有浏览器支持;

在原始事件模型中。事件一旦发生就直接调用事件处理函数,事件不会向别的对象传播,原始事件模型中事件程序的注册可以采用以下几种方式;

1、在HTML中设置事件属性

<input type="button" value="确定" οnclick="alert('hello');">

2、在JavaScript中设置事件属性

格式:obj.eventType=handler;

eventType是事件类型名,handler是函数名称;

3、使用代码触发事件

可以使用代码显式的触发事件,从而调用对应的事件处理程序;

二、DOM事件模型

DOM事件流:当一个HTML元素产生一个事件时,该事件会在元素节点与根节点之间按特定的顺序传播,路径所经过的节点都会受到该事件,这个传播过程就是DOM事件流。

事件流按传播顺序分为两种类型,即事件捕捉和事件冒泡。

事件捕捉:事件从最不特定的document对象开始触发,传递到特定的事件目标,也就是从DOM树的最顶层元素一直传输到特定的元素。

事件冒泡:事件冒泡和事件捕捉的传播顺序刚好相反,简单理解就是从特定元素向上传输直到最顶层。

所有的事件都会经历事件捕捉,但不是所有的元素都会经历事件冒泡;

DOM事件模型中事件处理程序的注册采用格式:

addEventListener("e",handler,true|false);

事件程序的删除采用格式:

removeEventListener("e",handler,true|false);

其中true为捕获阶段,false为冒泡阶段;

三、IE事件模型

IE浏览器中的事件流仅包含冒泡阶段;

IE事件模型中事件处理程序的注册采用格式:

attachEvent("e","handler");

IE事件模型中事件处理程序的删除采用格式:

detachEvent("e","handler");

【前端学习】前端学习第十五天:JavaScript中的事件模型相关推荐

  1. 深度学习与推荐系统(十五)——LS-PLM(MLR)模型

    CTR预估的发展过程中,LR模型是比较常用的方法,因为其计算量小容易并行,工业上应用非常广泛,同时也引发了各位大佬基于LR模型的优化改进,这一改进通常有两个方向,一个是走融合路,即GBDT+LR样式, ...

  2. 【小白学习C++ 教程】十五、C++ 中的template模板和泛型

    @Author:Runsen template模板在 C++ 中一个简单但非常强大的工具.简单的想法是将数据类型作为参数传递,这样我们就不需要为不同的数据类型编写相同的代码. C++ 添加了两个新关键 ...

  3. TensorFlow学习笔记(二十五)CNN的9大模型

    接触深度学习已经有半年了,从最开始的caffe到后来的keras,前面2个框架差不多就是配好环境,并没有做什么东西,后来google的tensorflow,我驻足在这里,决定多花点时间,写点demo, ...

  4. ajax后台重定向会返回什么_第三十五天JavaScript中的ajax

    AJAX 1.ajax的简介 本小结参考:https://blog.csdn.net/caoxuecheng001/article/details/81290643 ​ Ajax 即"Asy ...

  5. ajax post提交数据_第三十五天JavaScript中的ajax

    AJAX 1.ajax的简介 本小结参考:https://blog.csdn.net/caoxuecheng001/article/details/81290643 ​ Ajax 即"Asy ...

  6. 深度学习入门笔记(十五):深度学习框架(TensorFlow和Pytorch之争)

    欢迎关注WX公众号:[程序员管小亮] 专栏--深度学习入门笔记 声明 1)该文章整理自网上的大牛和机器学习专家无私奉献的资料,具体引用的资料请看参考文献. 2)本文仅供学术交流,非商用.所以每一部分具 ...

  7. Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十五章:第一人称摄像机和动态索引...

    Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十五章:第一人称摄像机和动态索引 原文:Introduction to 3 ...

  8. 未处理异常和C++异常——Windows核心编程学习手札之二十五

    未处理异常和C++异常 --Windows核心编程学习手札之二十五 当一个异常过滤器返回EXCEPTION_CONTINUE_SEARCH标识符时是告诉系统继续上溯调用树,寻找另外的异常过滤器,但当每 ...

  9. 学习进度条(第十五周)

    学习进度条(第十五周) 所用时间:15小时左右 代码量:185行 博客量:3篇 收获知识:阅读<梦断代码>体会程序员的精彩经历,学会如何项目总结. 转载于:https://www.cnbl ...

最新文章

  1. 分析型数据库受大数据市场追捧
  2. wxWidgets:wxBannerWindow类用法
  3. C++子类父类成员函数的覆盖和隐藏实例详解
  4. 巧用gmail转发邮件
  5. python 混淆矩阵 画图_【Python-机器学习】sciki-learn/pandas与OLS求解
  6. linux /home recovering journal,Ubuntu启动之后显示Recovering journal ,clean block。。。。问题`...
  7. VBScript Sample:遍历文件夹并获取XML文件中指定内容
  8. 怎样修补渔网_渔网修补的方法
  9. 国内可以使用的英文搜索引擎
  10. xp计算机找不到音量调节,winxp系统电脑音量无法调节不能调节声音的恢复方案...
  11. html 图片垂直边距,HTML,CSS和垂直文本边距
  12. 300ETF期权和50ETF期权的区别
  13. MATLAB车辆路径或物流分配或生产调度问题实例设计和代码
  14. easypoi 合并单元格 横向 纵向
  15. Mysql的原子性、持久性原理
  16. 机器学习中火爆的对抗学习是什么,有哪些应用?
  17. 计算机windows7更新失败,Win7电脑windows update更新失败如何解决?
  18. 技术人员的公众号如何打造高质量内容和精美排版?
  19. RR 时间片轮转算法 (java)
  20. CSAPP学习笔记 day1

热门文章

  1. Django 中 CHANNEL_LAYERS设置
  2. FLV科普2 FLV相关工具FlvParse
  3. vue.js 由浅至深学习宝典
  4. 用starUML画的软工课设:外卖点餐管理系统
  5. java图片管理系统_基于Java Web技术的图片管理系统的设计与实现.doc
  6. 天勤接口查询所有期货品种交易时间
  7. 女生学计算机好吗有辐射,电脑辐射会给女人带来的危害
  8. arduino(esp8266)驱动74hc595进行流水灯异常一例
  9. c语言项目开发全程实录视频,C语言项目开发全程实录(第2版)(软件项目开发全程实录)简介,目录书摘...
  10. 理想中的接口自动化项目