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 不但封装了大量常用的事 ...
随机推荐
- 【leetcode】Merge Two Sorted Lists(easy)
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing t ...
- pod install 慢
最近使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动 原因在于当执行以上两个命令的时候会升级Co ...
- MFC 使用MFC EditBrowse Control控件选择文件或者文件夹
从工具箱中拖拽一个MFC EditBrowse Control到窗体中, 通过设置“Browse Mode”属性指定“文件浏览”还是“文件夹浏览” 可以通过添加对象的方式将其与一个CString se ...
- 解决eclipse中maven web工程打包成war(发布到tomcar)时lib中没有jar包的解决方法
可能有两个原因:1.maven中某些jar包下载不下来 从其他地方下载jar文件放到相应maven本地库的.m2里2..classpath文件中缺少(下面代码的作用是制定maven的jar发布路径)& ...
- 你知道吗?Web的26项基本概念和技术
这是我在网上看到一篇不错的文章,拿出来与大家分享一下:希望有所帮助 作者: 小鱼 来源: 前端里 发布时间: 2014-08-01 22:56 阅读: 10477 次 推荐: 51 原文链 ...
- Mysql游标
14.6.6.1 Cursor CLOSE Syntax 14.6.6.2 Cursor DECLARE Syntax 14.6.6.3 Cursor FETCH Syntax 14.6.6.4 Cu ...
- 解决Fragment在Viepager中切换不保存状态的问题
在FragmentPagerAdapter中重写以下方法: @Override public Object instantiateItem(ViewGroup container, int posit ...
- NYOJ题目98成绩转换
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAsQAAAJhCAIAAADJ5jGJAAAgAElEQVR4nO3dq3LkSPg36O8mzH0hxn ...
- Linux如何查看与/dev/input目录下的event对应的设备
1.查看当前的设备 dev/input/ 2.查看设备的名称 cat /proc/bus/input/devices
- Linux Shell 高级编程技巧3----运行级别脚本介绍
3.运行级别脚本介绍 3.1.运行级别 运行级别介绍: 0 关机 1 单用户模式 2 多用户模式 ...