JavaScript事件处理
客户端javascript程序采用了异步事件驱动程序,在这种程序设计风格下,当文档,浏览器,元素,或与之相关的对象发生某些有趣的事件时,web浏览器就会产生事件。事件本身不是javascript对象。
时间类型(event type)用来说明发生什么事件的字符串。例如mousedown代表用户移动鼠标,keydown代表用户按下键盘。
时间目标(event target)是发生的事件或与之相关的对象。在javascript应用程序中,window,document,element是最常见的时间目标,但是某些事件是由其它类型的对象触发,例如,XMLHttpRequest对象触发的redaystatechange事件。
事件处理程序(event handler)或事件监听程序(event listener)是处理或响应事件的函数。应用程序通过指明时间类型和事件目标,在web浏览器中注册他们的事件处理程序函数。
事件对象(event object)是与特定事件相关切包含有关该事件详细信息的对象。事件对象作为参数传递给事件处理程序函数(不包括IE8以及之前的版本),所有的事件对象都有用来制定事件类型的type属性和指定事件目标的target属性。例如,鼠标事件的相关对象会包含鼠标指针的坐标,而键盘事件的相关对象会包含按下的按键和辅助按键的详细信息。许多事件类型仅定义了像type和target这样的标准属性,就无法获取许多其他有用的信息。对于这些事件而言,只是简单的事件发生,无法得到事件的详细信息。
事件传播(event propagation)是浏览器决定哪个对象触发其事件处理程序的过程。对于但个对象的特定事件(比如window对象的load事件),必须是不能传播的。当文档元素上发生某个类型的事件时,他们会在文档树上向上传播或冒泡。
一些事件有与之相关的默认操作。例如,当超链接上发生click事件时,浏览器的默认操作是按照链接夹在加载新页面。事件处理程序可以通过返回一个适当的值,调用事件对象的某个方法或设置事件对象的某个属性来组织阻止默认事件的发生,这被称之为“取消事件”。
事件类型:
文档加载事件
鼠标事件
鼠标滚轮事件
托放事件
键盘事件
文本输入事件
触摸事件和手势事件
html5的历史管理,托放,跨文档通信,视频和音频的相关事件
JavaScript事件处理的更多相关文章
- javascript事件处理解析
一.什么是事件!(w3c解释) 事件是可以被 JavaScript 侦测到的行为. JavaScript 使我们有能力创建动态页面.事件是可以被 JavaScript 侦测到的行为. 网页中的每个元素 ...
- Javascript事件处理进阶
这篇文章是我在看乌龟书<编写可维护的Javascript>发现的一篇写的非常好的章节,在这里我并不会教大家什么是绑定事件等比较基础的事.有兴趣了解DOM事件的同学们,可以去w3cschoo ...
- JavaScript事件处理的三种方式(转)
一.什么是JavaScript事件? 事件(Event)是JavaScript应用跳动的心脏,也是把所有东西粘在一起的胶水,当我们与浏览器中Web页面进行某些类型的交互时,事件就发生了. 事件可能是用 ...
- 使用AmplifyJS和JQuery编写更好更优雅的javascript事件处理代码
事件(或消息)是一种经常使用的软件设计模式.可以减少消息处理者和消息公布者的之间的耦合,比方J2EE里面的JMS规范.设计模式中的观察者模式(也叫公布/订阅模式).这对于javascript代码相同适 ...
- 私人定制javascript事件处理机制(浅谈)
看到园子里关于事件监听发表的文章,我都有点不好意思写了.不过想想我的题目以私人定制作开头也就妥妥地写吧. 事件相关概念 1.事件类型 发生事件的字符串 有传统事件类型 比如表单.window事件等 D ...
- javascript——事件处理模型(DOM 和 IE)
javascript的事件处理模型分为 DOM事件处理模型和 IE事件处理模型. 一.DOM事件流模型 DOM事件流分为三个阶段:捕获阶段.目标阶段.冒泡阶段. 捕获阶段:自上而下,由document ...
- 【WIP】客户端JavaScript 事件处理
创建: 2017/10/15 完成: 2017/10/15 更新: 2017/11/04 加粗事件的参数 更新: 2017/12/12 增加事件处理时获取事件对象的方法 更新: 2019/05/2 ...
- javascript——事件处理
<script type="text/javascript"> function EventUtil() { var _self = this; ///添加事件 var ...
- javascript 事件处理
[写在前面]近期一直在看js的基础,毕竟jquery尽管好用,总归是用着别人写的,仅仅会用api不如搞清楚实现的原理. 等把js基础巩固好了一定要去读jquery的源代码. 事件流 事件流描写叙述的是 ...
随机推荐
- ftp二进制与ascii传输方式区别
ASCII 和BINARY模式区别: 用HTML 和文本编写的文件必须用ASCII模式上传,用BINARY模式上传会破坏文件,导致文件执行出错. BINARY模式用来传送可执行文件,压缩文 ...
- ajax get/post
xmlhttp.open("POST", url, true); xmlhttp.setRequestHeader("Content-Type", " ...
- 【转】gcc warning: braces around scalar initializer (标量初始化的括号)
原文网址:http://stackoverflow.com/questions/3462513/gcc-warning-braces-around-scalar-initializer I have ...
- SxsTrace工具使用方法
Windows7平台上有一个强大的SxsTrace工具,可以跟踪调试应用程序运行时需要的动态库的版本和路径. SxsTrace使用的方法: 1.首先必须以Administrator用户身份登录 ...
- margin:0 auto 与 text-align:center 的区别(转载)
摘自:http://www.cnblogs.com/zhwl/p/3529473.html 基本概念: 1.text-align: 属性规定元素中的文本的水平对齐方式; 该属性通过指定行框与哪个点 ...
- Hessian和Burlap入门教程
一.简介 Hessian和Burlap是由Caucho Technology提供的基于HTTP协议的轻量级远程服务解决方案.他们都致力于借助尽可能简单那的API和通信协议来简化Web服务. He ...
- 【转】Android NDK开发入门实例
写这个,目的就是记录一下我自己的NDK是怎么入门的.便于以后查看,而不会忘了又用搜索引擎一顿乱搜.然后希望能够帮助刚学的人入门. 先转一段别人说的话:“NDK全称:Native Development ...
- Linux usb子系统(二):USB设备驱动usb-skeleton.c
usb驱动分为通过usbfs操作设备的用户空间驱动,内核空间的内核驱动.两者不能同时进行,否则容易引发对共享资源访问的问题,死锁!使用了内核驱动,就不能在usbfs里驱动该设备. 下面转载的一篇分析u ...
- time date 基础操作
一. 获取当前系统时间和日期并格式化输出: import java.util.Date;import java.text.SimpleDateFormat; public class NowStrin ...
- Zookeeper学习记录(一):设计与实现
概述 Zookeeper是一个分布式的.开源的分布式应用协调服务.它暴露了一组简单的基础原件,分布式应用可以在这些原件之上实现更高级别的服务,如同步.配置维护.群组.和命名.它被设计成容易编程实现的, ...