什么是事件?

事件是一种异步编程的实现方式,本质上是程序各个组成部分之间的通信。就是文档或浏览器窗口发生的一些特定的交互瞬间(某种动作)。

1、事件流

事件流描述的是从页面中接收事件的顺序。

1)事件冒泡

2)事件捕获

2、冒泡机制

事件从最具体的元素开始向上依次出发,到最外面的元素

d1.addEventListener("click",function(){},true)

3、捕获机制

事件从最不具体的元素开始向下依次出发,到事件真正出发的位置停止

4、事件流

页面中接收事件的顺序。

完整的事件流:事件捕获+事件的真正触发者+事件冒泡

5、非IE事件绑定

1)HTML事件处理程序:绑定的位置在html节点属性中绑定,on+事件名=“函数(),事件()”

移除:使用d1.setAttribute("onclick",null)可以来移除事件

缺点:使用这种方式耦合式太强,修改一处函数名,另一处也需要修改。

函数没有价值成功,用户已经去触发事件了,也会带来问题。

不推荐使用这种方式。

2)DOM0级事件:冒泡机制

没有兼容性问题:

元素.(on+事件名) = function(){语句块};

移除方式:元素.(on+事件名)=null;

缺点:只能绑定一个函数,如果有多个函数,那么最后一个生效。

3)DOM2级事件

格式: d1.addEventListener("click",listener,useCapture);

type:绑定的事件名称,没有on

listener:绑定的函数

useCapture:是否使用捕获机制,false代表冒泡机制来处理事件,true代表以捕获机制来处理事件

【前端积累】javascript事件的更多相关文章

  1. 移动前端javascript事件

    移动端事件: // 手势事件 touchstart //当手指接触屏幕时触发 touchmove //当已经接触屏幕的手指开始移动后触发 touchend //当手指离开屏幕时触发 touchcanc ...

  2. 【移动端兼容问题研究】javascript事件机制详解(涉及移动兼容)

    前言 这篇博客有点长,如果你是高手请您读一读,能对其中的一些误点提出来,以免我误人子弟,并且帮助我提高 如果你是javascript菜鸟,建议您好好读一读,真的理解下来会有不一样的收获 在下才疏学浅, ...

  3. 前端之JavaScript基础

    前端之JavaScript基础 本节内容 JS概述 JS基础语法 JS循环控制 ECMA对象 BOM对象 DOM对象 1. JS概述 1.1. javascript历史 1992年Nombas开发出C ...

  4. JavaScript事件流原理解析

    一.为什么会有这一篇的文章 国庆前几天由于任务比较重,要赶在国庆前把一个进度的任务开发完成,所以也就有点赶,但是却遇到了一个比较奇怪的Bug,导致了任务比预计的延迟了几个小时,对此深表遗憾,所以利用国 ...

  5. Javascript事件机制兼容性解决方案

    本文的解决方案可以用于Javascript native对象和宿主对象(dom元素),通过以下的方式来绑定和触发事件: 或者 var input = document.getElementsByTag ...

  6. Javascript事件模型系列(一)事件及事件的三种模型

    一.开篇 在学习javascript之初,就在网上看过不少介绍javascript事件的文章,毕竟是js基础中的基础,文章零零散散有不少,但遗憾的是没有看到比较全面的系列文章.犹记得去年这个时候,参加 ...

  7. JavaScript:JavaScript事件的处理

    JavaScript事件处理 —————事件的处理流程: —————动态事件绑定: —————常用的事件处理. 1.事件的概念 在页面之中,会针对用户的每一个操作进行记录.在页面中的事件可以简单的理解 ...

  8. 互联网公司前端初级Javascript面试题

    互联网公司前端初级Javascript面试题 1.JavaScript是一门什么样的语言,它有哪些特点?(简述javascript语言的特点)JavaScript是一种基于对象(Object)和事件驱 ...

  9. 谈谈JavaScript事件

    众所周知,web前端包含三个基本技术:html.css和javascript.三者融合,才让网页变得精彩纷呈!如今,web上的操作越来越趋于复杂,JavaScript事件在网页中也遍地开花,有时候也是 ...

  10. 第三篇:web之前端之JavaScript基础

    前端之JavaScript基础   前端之JavaScript基础 本节内容 JS概述 JS基础语法 JS循环控制 ECMA对象 BOM对象 DOM对象 1. JS概述 1.1. javascript ...

随机推荐

  1. Blog

    http://www.cnblogs.com/digdeep/archive/2015/11/16/4968453.htmlhttp://it.dataguru.cn/article-8406-1.h ...

  2. 使用ConcurrentLinkedQueue惨痛的教训【转】

    转自:http://blog.csdn.net/jackpk/article/details/49634577 服务端原本有个定时任务对一个集合ArrayList 中的消息做处理. 因为考虑到处理消息 ...

  3. 设置 sqlserver Profiler 只监控 EF的sql执行请求

    当我们用EF执行语句的时候,可以使用 sqlserver Profiler来监控到底执行了哪些sql语句,但是默认他是监控全局的,我们只想监控Ef的语句,这里如下设置 这样就只会监控 EF产生的 sq ...

  4. form中的button按钮在IE11中自动提交表单问题导致弹出框关闭之后表单被重置

    最近几天,测试系统,遇到一个兼容性问题,form中有一个button按钮,没有指定type类型,点击按钮弹出框选择值之后回填给form上的一个单行文本框,在IE6.IE7.IE8.IE9.IE10中测 ...

  5. System.web和System.WebServer

    System.WebServer是因为iis7而出现的,也就是说如果在Classic下会被忽略,而System.web是iis以前版本的配置. httpModules    modules

  6. 正则表达式sed

    sed  能实现grep查找的功能,还可以替换指定的字符. 匹配查找文件中root字符(其中的 -n表示段落,p表示打印出来print) [root@localhost sed]# sed -n '/ ...

  7. asp.net导出EXCEL的好方法!(好用,导出全部数据)

    1.调用方法: ExportExcel("application/ms-excel", "EXCEL名称.xls", GridView1, this.Page) ...

  8. Objective-C语法之NSDictionary和NSMutableDictionary

    Java 有Map,可以把数据以键值对的形式储存起来,取值的时候通过key就可以直接拿到对应的值,方便快捷.在Objective-C语言中,词典就是做这样的事情的,和NSArray一样,一个词典对象也 ...

  9. LinuxMint下的Orionode源码安装

    1. Orionode介绍 Eclipse-orion是Eclipse项目下面的一个子项目,orion是一个在在线版的代码编辑环境.其介绍参考http://wiki.eclipse.org/Orion ...

  10. springboot+mybatis集成多数据源MySQL/Oracle/SqlServer

    日常开发中可能时常会遇到一些这样的需求,业务数据库和第三方数据库,两个或多个数据库属于不同数据库厂商,这时候就需要通过配置来实现对数据库实现多源处理.大致说一下我的业务场景,框架本身是配置的sprin ...