HTML: Dom event
转自:https://developer.mozilla.org/zh-CN/docs/Web/API/Event
Event接口表示在DOM中发生的任何事件; 一些是用户生成的(例如鼠标或键盘事件),而其他由API生成(例如指示动画已经完成运行的事件,视频已被暂停等等)。有许多类型的事件,其中一些使用基于主要事件接口的其他接口。事件本身包含所有事件通用的属性和方法。
本章介绍了 DOM Event 模型。主要包括 Event 接口本身的描述以及在DOM节点上的事件注册, event listeners ,还有说明各种事件接口如何关联的一些较长的例子。
HTML 属性
<button onclick="alert('Hello world!')">
在属性中的JavaScript 代码,是通过 event 参数传入 Event 对象的。 在HTML规范中,其返回值会以一种特殊的方式被处理。
我们应该避免使用这种方式。因为它会使标记数量变大,而可读性却较差。 内容/结构 和 行为之间没有很好的分离,使得在处理bug时非常困难。
DOM 元素属性
// Assuming myButton is a button element
myButton.onclick = function(event){alert('Hello world');};
该函数在定义时,可以传入一个 event 形式的参数。 在HTML 规范中,其返回值会以一种特殊的方式被处理。
这种方法的问题在于每个元素和事件只能设置一个处理函数。
DOM Event 接口
事件处理函数可以附加在各种对象上,包括 DOM元素,window 对象 等。当事件发生时, event 对象就会被创建并依次传递给事件监听器。
在处理函数中,将event对象作为第一个参数参数,可以访问 DOM Event 接口。下面简单的实例则简单说明了 event对象是如何传入事件处理函数,在函数中是如何被使用的。
function foo(evt) {
// the evt parameter is automatically assigned the event object
alert(evt);
}
table_el.onclick = foo;
属性
Event.bubbles- 一个布尔值,用来表示该事件是否在DOM中冒泡。
Event.cancelBubbleEvent.stopPropagation()以前的别名。通过在一个事件处理程序返回前设置这个属性的值为真,来阻止事件冒泡。Event.cancelable- 一个布尔值,用来表示这个事件是否可以取消。
Event.composed- 一个布尔值,用来表示这个事件是否可以在阴影DOM和常规DOM之间的边界上浮动。
Event.currentTarget- 当前注册事件的对象的引用。这是一个这个事件目前需要传递到的对象(译者:大概意思就是注册这个事件监听的对象)。这个值会在传递的途中进行改变。
Event.deepPath- 一个由事件流经过了的 DOM
Node组成的Array Event.defaultPrevented- 一个布尔值,表示了是否已经执行过了
event.preventDefault()(译者:其实应该就是是否已经阻止默认行为) Event.eventPhase- 指示事件流正在处理哪个阶段。
Event.explicitOriginalTarget只读- 事件的原始目标(Mozilla内核特定属性)。
Event.originalTarget- 在任何重定向之前,事件的原始目标 (Mozilla内核特定属性)。
Event.returnValue- 一个非标准的替代方案(从旧版本的Microsoft Internet Explorer)到
Event.preventDefault()和Event.defaultPrevented。 Event.scoped- 一个
Boolean,表示给定的事件是否会通过阴影进入到标准的DOM中。 此属性已重命名为composed。 Event.srcElement- 非标准别名(Microsoft Internet Explorer的旧版本)
Event.target. Event.target- 对事件起源目标的引用。
Event.timeStamp- 事件创建时的时间戳,毫秒级别。按照规定,这个时间戳是距离某个特定时刻的差值,但实际上在浏览器中此处的事件戳的定义有所不同。另外,正在开展工作将其改为
DOMHighResTimeStamp。(译者注:参考时间戳,在浏览器中此处的时间戳是距离该页面打开时刻的大小)。 Event.type- 事件的类型(不区分大小写)。
Event.isTrusted- 指明事件是否是由浏览器(当用户点击实例后)或者由脚本(使用事件的创建方法,例如event.initEvent)启动。
方法
event.initEvent- 通过
DocumentEvent的接口给被创建的事件初始化某些值。 event.preventBubble已废弃 Gecko 24- 防止事件冒泡。已弃用,请使用
event.stopPropagation代替它。 event.preventDefault- 取消事件(如果该事件可取消)。
event.stopImmediatePropagation- 对这个特定的事件而言,没有其他监听器被调用。这个事件既不会添加到相同的元素上,也不会添加到以后将要遍历的元素上(例如在捕获阶段)。
event.stopPropagation- 停止事件冒泡。
Event.getPreventDefault()- 未标准化,返回
Event.defaultPrevented的值。用Event.defaultPrevented代替。
HTML: Dom event的更多相关文章
- [DOM Event Learning] Section 4 事件分发和DOM事件流
[DOM Event Learning] Section 4 事件分发和DOM事件流 事件分发机制: event dispatch mechanism. 事件流(event flow)描述了事件对象在 ...
- [DOM Event Learning] Section 3 jQuery事件处理基础 on(), off()和one()方法使用
[DOM Event Learning] Section 3 jQuery事件处理基础 on(),off()和one()方法使用 jQuery提供了简单的方法来向选择器(对应页面上的元素)绑定事件 ...
- [DOM Event Learning] Section 2 概念梳理 什么是事件 DOM Event
[DOM Event Learning] Section 2 概念梳理 什么是事件 DOM Event 事件 事件(Event)是用来通知代码,一些有趣的事情发生了. 每一个Event都会被一个E ...
- [DOM Event Learning] Section 1 DOM Event 处理器绑定的几种方法
[DOM Event Learning] Section 1 DOM Event处理器绑定的几种方法 网页中经常需要处理各种事件,通常的做法是绑定listener对事件进行监听,当事件发生后进行一 ...
- HTML DOM Event对象
我们通常把HTML DOM Event对象叫做Event事件 事件驱动模型 事件源:(触发事件的元素)事件源对象是指event对象 其封装了与事件相关的详细信息. 当事件发生时,只能在事件函数内部访问 ...
- [ReactJS] DOM Event Listeners in a React Component
React doesn't provide the listener to listen the DOM event. But we can do it in React life cycle: So ...
- 节点操作,节点属性的操作及DOM event事件
##1. 节点操作 createElement(标签名) 创建一个指定名称的元素 someone.appendChild(new_node) 追加一个子节点(作为最后的子节点) someone.ins ...
- JavaScript 基础(四) - HTML DOM Event
HTML DOM Event(事件) HTML 4.0 的新特性之一是有能力使 HTML 事件触发浏览器中的动作(action),比如当用户点击某个 HTML 元素时启动一段 JavaScript.下 ...
- JavaScript学习 - 基础(七) - DOM event(事件)
DOM event(事件) 定义事件: // 定义事件: //方式一,直接在标签上定义事件 // 方式二: var a11 = document.getElementsByName('a11')[0] ...
随机推荐
- 如何安装私有 npm 包?
安装私有 npm 包的步骤: 先安装私有 npm 包:npm install <npm包名> --registry=<npm包源> 然后运行npm install安装公共 np ...
- 剑指offer 11. 位运算 二进制中1的个数
题目描述 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. //思想:用1(1自身左移运算,其实后来就不是1了)和n的每位进行位与,来判断1的个数 private stat ...
- 剑指offer 5.栈和队列 用两个栈实现队列
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 解题思路:1,整体思路是元素先依次进入栈1,再从栈1依次弹出到栈2,然后弹出栈2顶部的元素,整个过程 ...
- Day11字符串 title
一.title 二.join------将字符串中的每一个元素按照指定分隔符进行拼接. 三.ljust rjust center 左.右.中间填充 四.lower islower uppe ...
- maven编译下载源码
下载源码 mvn dependency:sources 跳过TEST mvn -DskipTests
- SfMLearner 记录
2019年3月2日09:29:54 正在看SfMLearner的pytorch源码,意识到无监督的深度估计最重要的是利用实体的一致性 来建立loss. 对于一个不移动的物体,相机从一个pose到另一个 ...
- Java文件File类学习总结
java.io.File类 代表文件和目录,在开发中,读取文件.生成文件.删除文件.修改文件的属性都会用到该类. 常见构造方法: public File(String pathName){} 以pat ...
- tomcat7启动闪退
今天电脑重装了系统,下载解压tomcat发现startup.bat打开就闪退.不知道咋回事,打开windows命令输入cmd->cd 进入到tomcat的bin目录,输入startup.exe回 ...
- TMS320F28335系列芯片地址映射表
本表非官方资料,纯属个人学习笔记,欢迎补充 本表非官方资料,纯属个人学习笔记,欢迎补充 本表非官方资料,纯属个人学习笔记,欢迎补充 开始地址 长度 名称 物理器件 程序 数据 只读 Protected ...
- Python中随机森林的实现与解释
使用像Scikit-Learn这样的库,现在很容易在Python中实现数百种机器学习算法.这很容易,我们通常不需要任何关于模型如何工作的潜在知识来使用它.虽然不需要了解所有细节,但了解机器学习模型是如 ...