javascript是事件驱动的,那什么是事件?事件就是在javascript中被侦测到DOM元素行为,就称之为javascript事件。

2、事件的三个阶段

事件的三个阶段分别为:

1、捕获阶段 2、目标阶段3、冒泡阶段。

捕获的概念:就会为了找到目标DOM元素,会从上往下一级一级查找,直到找到目标DOM元素。(window->document->html->body->......->目标DOM元素。

冒泡的概念:目标事件执行后,会从下往上一级一级查找是否有相同事件类型,直到window。

3、事件的绑定方式

1、最简单绑定方式:btn.οnclick=function(){};

2、W3C标准绑定方式:addEventListener(事件名称,事件处理程序,useCapture)第三个参数是布尔值,如果是true表示捕获,如果是false就是冒泡,默认为冒泡。

3、IE中:attachEvent("on" + 事件名称, 事件处理程序)这个方法不支持:捕获阶段。

4、三种绑定事件this的指向问题。

1、 onclick 事件中的this 就是 当前对象

2、addEventListener 事件处理程序中的this:当前对象

3、attachEvent 事件处理程序中的this : window

5、事件兼容的封装

 var addEvent = function() {//属于方法检测,判断window是否有该方法if(window.addEventListener) {return function f1(target, type, handler) {target.addEventListener(type, handler);};} else if(window.attachEvent) {return function f2(target, type, handler) {target.attachEvent("on" + type, function() {handler.apply(target);//因为this默认指向window,所以通过apply方法来改变this的指向问题//apply使用方法:function.apply(第一个参数,第二个参数)// 第一个参数:表示指向那个对象来调用函数// 第二个参数:是一个数组或者是伪数组的对象 (这个参数是可选的)这个数组中的每一项的值,都将作为被调用函数的参数});};} else {return function f3(target, type, handler) {target["on" + type] = handler;};}
}();//封装事件兼容函数使用到了闭包技术,目的是:当在页面中多次调用该函数,可以避免重复判断,提高js执行效率。

转载于:https://www.cnblogs.com/lsy0403/p/5862850.html

javascript一个重要知识点:事件。相关推荐

  1. 加入收藏代码_100个原生JavaScript代码片段知识点详细汇总【实践】

    作者:小棋子js 转发链接:https://www.jianshu.com/p/b5171efa340f JavaScript 是目前最流行的编程语言之一,正如大多数人所说:"如果你想学一门 ...

  2. html内置时间对象,JavaScript中的常用事件,以及内置对象详解

    原标题:JavaScript中的常用事件,以及内置对象详解 今天是刘小爱自学Java的第81天. 感谢你的观看,谢谢你. 话不多说,开始今天的学习: 学前端有一个非常权威的组织,也就是w3c,其有个专 ...

  3. JavaScript学习 九、事件

    JavaScript 与 HTML 之间的交互是通过事件实现的.事件,就是文档或者浏览器窗口中发生的一些特定的交互瞬间.可以使用侦听器(或处理程序)来预定事件,以便事件发生时执行相应的代码.类似于设计 ...

  4. JavaScript基础14-day16【事件委派、事件绑定、事件传播、滚轮事件、键盘事件、键盘移动div】

    学习地址: 谷粒学院--尚硅谷 哔哩哔哩网站--尚硅谷最新版JavaScript基础全套教程完整版(140集实战教学,JS从入门到精通) JavaScript基础.高级学习笔记汇总表[尚硅谷最新版Ja ...

  5. javascript --- js中的事件

    事件实现松耦合: // JS和HTML之间的交互是通过事件实现的. // 事件,就是文档或浏览器窗口中发生一些特定的交互瞬间. // 可以使用侦听器来预定事件,以便事件发生时执行相应的代码. // 这 ...

  6. JavaScript与HTML交互——事件

    JavaScript和HTML的交互是通过事件实现的.JavaScript采用异步事件驱动编程模型,当文档.浏览器.元素或与之相关对象发生特定事情时,浏览器会产生事件.如果JavaScript关注特定 ...

  7. JavaScript捕获窗口关闭事件

    JavaScript捕获窗口关闭事件 关键字: window.close事件 javascript捕获窗口关闭事件有两种方法 1.用javascript重新定义 window.onbeforeunlo ...

  8. javascript无限请求_JAVASCRIPT事件循环

    事件循环是用来理解JavaScript的最重要的方面之一.这篇文章旨在解释JavaScript如何与单个线程一起工作的细节,以及它如何处理异步函数. JavaScript代码运行是单线程.一次只执行一 ...

  9. 用 JavaScript 实现手势库 — 事件派发与 Flick 事件【前端组件化】

    前端<组件化系列>目录 「一」用 JSX 建立组件 Parser(解析器) 「二」使用 JSX 建立 Markup 组件风格 「三」用 JSX 实现 Carousel 轮播组件 「四」用 ...

最新文章

  1. Python入门学习之函数
  2. 如何显示服务器上的图片,显示服务器上的图片怎么写
  3. android 得到毫秒时间戳,android – Location.getTime()总是返回没有毫秒的时间戳
  4. Python中的判断语句及循环
  5. careercup-高等难度 18.6
  6. figma下载_不用担心Figma中的间距
  7. linux 关机 日志,centos7 异常关机了,怎么查看系统的异常日志?
  8. Buffer(缓冲/字节容器)详解
  9. 太慢不能忍!CPU 又拿硬盘和网卡开刀了!
  10. Nginx之location详解
  11. Vscode ROS 环境搭建
  12. Linux电脑弹出网络认证,linux局域网Dr.COM宽带认证客户端上网指南
  13. bc8-android导航,路畅A6导航刷机固件 4.09 CN-A6-GBDS-BC8-VIN-256-V1.51
  14. python numpy安装失败_python 安装 numpy 教程及错误总结
  15. 数据结构与算法面试题80道
  16. python + selenium 自动化测试框架
  17. 2023南京信息工程大学计算机考研信息汇总
  18. android6.0 cta认证,什么是CTA认证?CTA进网许可认证。
  19. 手把手教你给女朋友编写一个公众号定时推送(java版本)
  20. 哪款蓝牙耳机的续航比较好?四款续航时间长的蓝牙耳机测评

热门文章

  1. matlab中双引号_Octave、SciLab能否替代MATLAB?
  2. Zephyr OS 内核篇: 内核链表
  3. 动态规划/贪心 - 无重叠区间
  4. Mysql 优化的一些要点
  5. MYSQL的binary解决mysql数据大小写敏感问题
  6. 4.6 Kaggle房价预测
  7. .bat文件该图标_电脑桌面图标变成白色方块图标怎么办?
  8. 使用Maven管理Eclipse Java项目(多modules编译)
  9. Apache Commons:Commons-codec介绍
  10. Common BeanUtils组件的使用(源码)