[DOM Event Learning] Section 2 概念梳理 什么是事件 DOM Event

 

事件

  事件(Event)是用来通知代码,一些有趣的事情发生了.
  每一个Event都会被一个Event对象所表示,这个对象可能还会有一些自定义的字段或者方法,来获取发生什么事情的更多信息.
  Event对象实现了Event接口(https://developer.mozilla.org/en-US/docs/Web/API/Event).
 
  事件可以是任何事情,从最基本的用户交互,到rendering model中自动发生的一些事情.
  有一些官方规范中的标准事件,也有一些特定浏览器使用的内部事件.
 

事件处理器

  要在某个对象发生某个事件(比如一个a标签被点击)的时候得到通知,可以为这个对象的这个事件指定一个event handler.
  指定方法:
  1.用元素名为on{eventtype}的HTML属性, 比如:
<button onclick="return handleClick(event);">
  2.用JavaScript选取元素,设置对应的onXXX属性,比如:
document.getElementById("mybutton").onclick = function(event) { ... }.
  更现代的浏览器可以用addEventListener()方法: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
  但是这个方法不兼容IE9之前的浏览器.
  如果用jQuery来注册监听,框架会帮我们处理浏览器的兼容性问题.
  具体的各种注册监听的方式, 上一篇博文中有总结:http://www.cnblogs.com/mengdd/p/4354339.html
 
  Event handler可以设置在HTML元素上,也可以设置在其他产生事件的对象上,比如window, document, XMLHttpRequest等.
  因为历史原因,一些<body>和<frameset>上的属性实际是在它们的Window对象上设置event handler.
  比如:onblur, onerror, onfocus, onload, onscroll.
 

事件对象

  在时间被触发的时候,回调方法接收一个事件对象作为参数.
  这样你在处理的时候,可以知道当前是什么事件(type), 它的target, 以及相关的事件参数.
  Event是一个接口, 它有一些公共的属性和方法.
  各种具体的事件接口(比如MouseEvent, KeyboardEvent)都是Event的子类.
 
 
  事件对象的方法中:
  event.stopPropagation() 会阻止当前事件的进一步传播.
  event.preventDefault() 会取消可以取消的事件, 但是不阻止事件的进一步传播.
  preventDefault()用来阻止一些默认的行为发生.
 
 

参考资料:

  learn jQuery Events: http://learn.jquery.com/events/
 
 

[DOM Event Learning] Section 2 概念梳理 什么是事件 DOM Event的更多相关文章

  1. [DOM Event Learning] Section 4 事件分发和DOM事件流

    [DOM Event Learning] Section 4 事件分发和DOM事件流 事件分发机制: event dispatch mechanism. 事件流(event flow)描述了事件对象在 ...

  2. [DOM Event Learning] Section 3 jQuery事件处理基础 on(), off()和one()方法使用

    [DOM Event Learning] Section 3 jQuery事件处理基础 on(),off()和one()方法使用   jQuery提供了简单的方法来向选择器(对应页面上的元素)绑定事件 ...

  3. [DOM Event Learning] Section 1 DOM Event 处理器绑定的几种方法

    [DOM Event Learning] Section 1 DOM Event处理器绑定的几种方法   网页中经常需要处理各种事件,通常的做法是绑定listener对事件进行监听,当事件发生后进行一 ...

  4. 一文梳理JavaScript 事件循环(Event Loop)

    事件循环(Event Loop),是每个JS开发者都会接触到的概念,但是刚接触时可能会存在各种疑惑. 众所周知,JS是单线程的,即同一时间只能运行一个任务.一般情况下这不会引发问题,但是如果我们有一个 ...

  5. 【二】jquery之基础概念与jquery对象与dom对象的区别及混合使用

    一:jquery基本概念 1.jquery是一个javascript框架,它是一个轻量级的js库 2.当下流行的js库有: jquery MooTools Prototype 3.$(ducoment ...

  6. event driven的一些概念

    1. event :Something that happens during your application that requires a response. 2.event object:Th ...

  7. 重新审视事件对象event

    前言:之前在学习事件对象event时,一是一直在chrome浏览器(作为主运行环境)下运行调试自个儿程序,二是可能当时对事件对象理解不透彻才导致现在对事件对象的用法陷入了一个大坑,遂以此篇博客记之. ...

  8. 谈谈事件对象-event

    JavaScript 中的事件对象(event) 当我们每次触发一种事件(如点击事件),我们会在回调函数中传入事件对象event.今天就来来谈谈. 1.当我们想判断当前事件是我们想要的事件类型时,可以 ...

  9. JavaScript:事件对象Event和冒泡

    本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. 绑定事件的两种方式 我们在上一篇文章中已经讲过事件的概念.这里讲一下注册 ...

随机推荐

  1. VS2015安装EF Power Tools

    前言 最近在研究EF觉得EF Power Tools比较强大,可以利用其特性来进行Code First模型验证等等,本以为在VS2015扩展和更新中能找到EF Power Tools,结果未找到,还得 ...

  2. Chrome开发工具之Console

    Chrome开发工具-Console 看了别人的博客,才发现在百度主页用开发工具“Console”可以看到百度的招聘信息 前端调试工具可以按F12打开,谷歌的开发工具中的Console面板可以查看错误 ...

  3. 使用Spire.Barcode程序库生成二维码

    使用Spire.Barcode程序库生成二维码 某天浏览网页发现了一个二维码的程序库.它的描述说他可以扫描二维码图像.我很感兴趣,想试试他是不是会有用.所以我就用了些方法扫描二维码图像来测试一下.结果 ...

  4. h5直播开发之旅总结

    前言 关于直播,有很多相关技术文章,这里不多说. 作为前端,我们比较关心我们所需要的. 直播的大致流程: APP端调用摄像头 -> 拍摄视频 -> 实时上传视频 -> 服务器端获取视 ...

  5. 1Z0-053 争议题目解析694

    1Z0-053 争议题目解析694 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 694.As part of archiving the historical data, you ...

  6. hibernate笔记--缓存机制之 二级缓存(sessionFactory)和查询缓存

    二级缓存(sessionFactory): Hibernate的二级缓存由SessionFactory对象管理,是应用级别的缓存.它可以缓存整个应用的持久化对象,所以又称为“SessionFactor ...

  7. Oracle11g中数据的倒库和入库操作以及高版本数据导入低版本数据可能引发的问题

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.前言 在10g之前,传统的导出和导入分别使用EXP工具和IMP工具 ...

  8. Java继承与组合

    Java继承与组合 继承 java 中使用extends关键字表示继承关系,当创建一个类时,如果没有明确指出要继承的类,则是隐式地从根类Object进行继承. 子类继承父类的成员变量 子类能够继承父类 ...

  9. Asp.Net 使用Npoi导出Excel

    引言 使用Npoi导出Excel 服务器可以不装任何office组件,昨天在做一个导出时用到Npoi导出Excel,而且所导Excel也符合规范,打开时不会有任何文件损坏之类的提示.但是在做导入时还是 ...

  10. SIFT特征详解

    1.SIFT概述 SIFT的全称是Scale Invariant Feature Transform,尺度不变特征变换,由加拿大教授David G.Lowe提出的.SIFT特征对旋转.尺度缩放.亮度变 ...