DOM--4 响应用户操作和事件(1)
简介##
- 事件:事件并不是以”on”开头的。例如,onclick引用的是一个对象的属性,click才是事件。
- 事件侦听器:当指定的事件发生时会执行的函数或方法。
- 事件注册:为DOM元素的具体事件指定事件侦听器的过程。
- 调用:使用动词“invoke”来描述浏览器在检测到某种操作之后执行相应事件侦听器的情形。类似的术语还可能包括呼叫(called)、激发(fired)、执行(executed)或触发(triggered)等。
事件类型##
对象事件###
对象事件既适用于JavaScript对象(例如window对象),也适用于DOM对象(例如HTMLImageElement对象)
- load(完成页面载入后调用,所有可能会因为图片加载而产生问题; 既适用于window对象,也适用于图像对象)
- error; error事件既适用于window对象,也适用于图像对象
A.addEvent(window, 'load', function() {
var image = document.createElement('IMG');
A.addEvent(image, 'load', function() {
document.body.appendChild(image);
});
A.addEvent(image, 'error', function() {
var message = document.createTextNode('The image failed to load');
document.body.appendChild(message);
});
image.setAttribute('src', 'http://www.hdwallpapersinn.com/wp-content/uploads/2014/08/little_cute_cat_1920x1080.jpg');
});
- resize, 当调整浏览器窗口的大小而导致文档的视图发生改变时才会触发resize事件。
- scroll, 适用于具有overflow:auto样式的元素,并且会在元素滚动期间连续地触发。
鼠标移动事件###
- mouseover
- mousemove
- mouseout
- mousedown; 左右点击都会触发
- mouseup; 左健释放触发,如果先点击后移动到监听区域后释放,就只会触发mouseup;
- click; 监听区域完成完整的左健点击释放才会触发;
- dbclick
键盘事件###
- keydown; 键盘按下后触发,该事件发生后会触发keypress事件;触发一次后会停顿一下,如果键盘还是按下状态,则会连续触发,keypress也是;
- keyup; 键盘释放后触发;
- keypress; 随着keydown事件触发;
表单相关事件###
- submit: (注意监听是放在form元素上的)在表单中的button如果没有设置type='reset', 一般默认为submit;点击后触发submit事件; 默认会动态刷新,在处理函数中使用e.preventDefault()可以阻止;
- reset: (注意监听是放在form元素上的)在表单中点击button设置为type='reset‘的按钮触发;
- blur/focus: 适用于
<label>,<input>,<select>,<textarea>和<button>等表单元素;一般情况下会在处理函数中处理一些判断并使用this.className来修改样式; - change: 适用于
<input>,<select>,<textarea>表单元素; (所以注意如对input用直接设置value的情况下不会触发)- 事件在元素激活状态如对
<input type="radio"> and <input type="checkbox"> - 元素失去焦点并值被改变且未提交时
<select>或<input type="file">触发选择值或上传文件成功时
- 事件在元素激活状态如对
控制事件流和注册事件监听器##
事件流###
在有嵌套关系的元素中监听同一事件,则会产生事件流
- DOM标准中相同的stopPropagation()方法也适用于捕获阶段,即自执行最外面的那个元素
- DOM事件流中哪个事件可以被取消
| 事件 | 可取消 |
|---|---|
| click | yes |
| mousedown | yes |
| mouseup | yes |
| mouseover | yes |
| mousemove | no |
| mouseout | yes |
| load | no |
| unload | no |
| abort | no |
| error | no |
| select | no |
| change | no |
| submit | yes |
| reset | no |
| focus | no |
| blur | no |
| resize | no |
| scroll | no |
- 在一个相同阶段上对对象注册多个事件监听不能确保先后执行顺序,唯一的办法是在一个事件监听器上按顺序调用多个函数
DOM--4 响应用户操作和事件(1)的更多相关文章
- DOM--4 响应用户操作和事件(2)
自定义事件 //旧的方法 //创建 var event = document.createEvent('Event'); //初始化 event.initEvent('build', true, tr ...
- hitTest和pointInside如何响应用户点击事件
hitTest和pointInside如何响应用户点击事件 处理机制 iOS事件处理,首先应该是找到能处理点击事件的视图,然后在找到的这个视图里处理这个点击事件. 处理原理如下: • 当用户点击屏幕时 ...
- JavaScript之DOM操作,事件操作,节点操作
1,DOM操作 1.1 概念 所谓DOM,全称Document Object Model 文档对象模型,DOM是W3C(World Wide Web Consortuum )标准,同时也定义了访问诸 ...
- 微信小程序开发系列五:微信小程序中如何响应用户输入事件
微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 微信小程序开发系列四:微信小程序 ...
- jQuery学习笔记之DOM操作、事件绑定(2)
jQuery学习笔记之DOM操作.事件绑定(2) --------------------学习目录------------------------ 4.DOM操作 5.事件绑定 源码地址: https ...
- cocos2d-x视频控件VideoPlayer的用户操作栏进度条去除(转载)
目前遇到两个问题: (1)视频控件移除有问题,会报异常. (2)视频控件有用户操作栏,用户点击屏幕会停止视频播放. 对于第一个问题,主要是移除控件时冲突引起的,目前简单处理是做一个延时处理,先stop ...
- jQuery中模拟用户操作
有时为了节省不想手动操作网页,但又想看到用户操作时的效果,可以用到jQuery提供的trigger方法.见下图代码 在不点击按钮时仍然想弹出this.value 我们只需要在后面加上.trigger( ...
- Dom,查找标签和操作标签
Dom,查找标签和操作标签 文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口.它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式 ...
- 第一百七十一节,jQuery,高级事件,模拟操作,命名空间,事件委托,on、off 和 one
jQuery,高级事件,模拟操作,命名空间,事件委托,on.off 和 one 学习要点: 1.模拟操作 2.命名空间 3.事件委托 4.on.off 和 one jQuery 不但封装了大量常用的事 ...
随机推荐
- JQuery 鼠标事件简介
mouseover事件于用户把鼠标从一个元素移动到另外一个元素上时触发,mouseout事件于用户把鼠标移出一个元素时触发. 下面为你详细介绍下jquery中的鼠标事件: (1):click事件:cl ...
- mybatis延迟加载
配置完成后可能会报错Cannot enable lazy loading because CGLIB is not available. Add CGLIB to your classpath 是由于 ...
- 【leetcode】Rotate List(middle)
Given a list, rotate the list to the right by k places, where k is non-negative. For example:Given 1 ...
- .net在当前日期的基础上加一天
比如今天是:2015-11-10 18:57:01,在这个基础上加一天,那么就是2015-11-11 18:57:01,代码如下: DateTime now_dt = DateTime.Now; ). ...
- Android Studio新建了一个项目提示Error:Unable to start the daemon process
提示如下错误:
- Innodb之监控Buffer pool Load progress
你可以使用PERFORMANCE SCHEMA中的相关信息监控BUFFER POOL状态加载进程. 1. 启用 stage/innodb/buffer pool load instrument: 2. ...
- NYOJ之ASCII码排序
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAsAAAAIFCAIAAABTaNy/AAAgAElEQVR4nO3dO1LjzMIG4H8T5CyEdF
- jq点击和鼠标移上效果以及一个等号"=" 二个等号"==" 三个等号"===" 的区别
<body> <div class="a" bs='1' style="width:100px; height:30px; border:1px sol ...
- jquery学习笔记---this关键字
1. 在JavaScript的变量作用域里有一条规则“全局变量都是window对象的属性”.当执行 checkThis() 时相当于 window.checkThis(),因此,此时checkT ...
- iis 7.5应用程序池自动停止
今天在我的windows7旗舰版上配置iis7 (Internet Information Server)失败,一直未能启动服务,访问本地网络提示"Service Unavailable H ...