简介##

  • 事件:事件并不是以”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)的更多相关文章

  1. DOM--4 响应用户操作和事件(2)

    自定义事件 //旧的方法 //创建 var event = document.createEvent('Event'); //初始化 event.initEvent('build', true, tr ...

  2. hitTest和pointInside如何响应用户点击事件

    hitTest和pointInside如何响应用户点击事件 处理机制 iOS事件处理,首先应该是找到能处理点击事件的视图,然后在找到的这个视图里处理这个点击事件. 处理原理如下: • 当用户点击屏幕时 ...

  3. JavaScript之DOM操作,事件操作,节点操作

    1,DOM操作 1.1  概念 所谓DOM,全称Document Object Model 文档对象模型,DOM是W3C(World Wide Web Consortuum )标准,同时也定义了访问诸 ...

  4. 微信小程序开发系列五:微信小程序中如何响应用户输入事件

    微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 微信小程序开发系列四:微信小程序 ...

  5. jQuery学习笔记之DOM操作、事件绑定(2)

    jQuery学习笔记之DOM操作.事件绑定(2) --------------------学习目录------------------------ 4.DOM操作 5.事件绑定 源码地址: https ...

  6. cocos2d-x视频控件VideoPlayer的用户操作栏进度条去除(转载)

    目前遇到两个问题: (1)视频控件移除有问题,会报异常. (2)视频控件有用户操作栏,用户点击屏幕会停止视频播放. 对于第一个问题,主要是移除控件时冲突引起的,目前简单处理是做一个延时处理,先stop ...

  7. jQuery中模拟用户操作

    有时为了节省不想手动操作网页,但又想看到用户操作时的效果,可以用到jQuery提供的trigger方法.见下图代码 在不点击按钮时仍然想弹出this.value 我们只需要在后面加上.trigger( ...

  8. Dom,查找标签和操作标签

    Dom,查找标签和操作标签 文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口.它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式 ...

  9. 第一百七十一节,jQuery,高级事件,模拟操作,命名空间,事件委托,on、off 和 one

    jQuery,高级事件,模拟操作,命名空间,事件委托,on.off 和 one 学习要点: 1.模拟操作 2.命名空间 3.事件委托 4.on.off 和 one jQuery 不但封装了大量常用的事 ...

随机推荐

  1. 【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 ...

  2. pod install 慢

    最近使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动 原因在于当执行以上两个命令的时候会升级Co ...

  3. MFC 使用MFC EditBrowse Control控件选择文件或者文件夹

    从工具箱中拖拽一个MFC EditBrowse Control到窗体中, 通过设置“Browse Mode”属性指定“文件浏览”还是“文件夹浏览” 可以通过添加对象的方式将其与一个CString se ...

  4. 解决eclipse中maven web工程打包成war(发布到tomcar)时lib中没有jar包的解决方法

    可能有两个原因:1.maven中某些jar包下载不下来 从其他地方下载jar文件放到相应maven本地库的.m2里2..classpath文件中缺少(下面代码的作用是制定maven的jar发布路径)& ...

  5. 你知道吗?Web的26项基本概念和技术

    这是我在网上看到一篇不错的文章,拿出来与大家分享一下:希望有所帮助 作者: 小鱼  来源: 前端里  发布时间: 2014-08-01 22:56  阅读: 10477 次  推荐: 51   原文链 ...

  6. 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 ...

  7. 解决Fragment在Viepager中切换不保存状态的问题

    在FragmentPagerAdapter中重写以下方法: @Override public Object instantiateItem(ViewGroup container, int posit ...

  8. NYOJ题目98成绩转换

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAsQAAAJhCAIAAADJ5jGJAAAgAElEQVR4nO3dq3LkSPg36O8mzH0hxn ...

  9. Linux如何查看与/dev/input目录下的event对应的设备

    1.查看当前的设备 dev/input/ 2.查看设备的名称 cat /proc/bus/input/devices

  10. Linux Shell 高级编程技巧3----运行级别脚本介绍

    3.运行级别脚本介绍    3.1.运行级别        运行级别介绍:            0    关机            1    单用户模式            2    多用户模式 ...