DOM模型(七)—— 事件类型

  ​根据澳大利亚媒体5日最新报道,悉尼西北部一处住所发生枪击事件,造成2人死亡,1人受伤。目前警方已经抵达现场,但事件原因不详。(央视记者
王聪)

9.2、DOMContentLoaded事件,readystatechange事件

以下事件与文档状态相关。

(1)、DOMContentLoaded事件

(2)、readystatechange事件

9.3、scroll事件,resize事件

以下事件与窗口行为有关。
(1)、scroll事件
scroll事件在文档或文档元素滚动时触发,主要出现在用户拖动滚动条。

window.addEventListener('scroll', callback);

由于该事件会连续地大量触发,所以它的监听函数之中不应该有非常耗费计算的操作。推荐的做法是使用
requestAnimationFrame或setTimeout控制该事件的触发频率,然后可以结合customEvent抛出一个新事件。

(2)、resize事件
resize事件在改变浏览器窗口大小时触发,发生在window、body、frameset对象上面。

该事件也会连续地大量触发,所以最好像上面的scroll事件一样,通过throttle函数控制事件触发频率。

2.1、概述

1.1、click事件,dblclick事件

当用户在Element节点,document节点,window对象上单击鼠标(或按下回车键)时,click事件触发。

“鼠标单击”定义为,用户在同一位置完成一次mousedown动作和mouseup动作。它们的触发顺序是:mousedown首先触发,mouseup接着触发,click最后触发。

下面是一个设置click事件监听函数的例子。

div.addEventListener("click", function( event ) {
  // 显示在该节点,鼠标连续点击的次数
  event.target.innerHTML = "click count: " + event.detail;
}, false);

dblclick事件当用户在element、document、window对象上,双击鼠标时触发。该事件在mousedownmouseup澳门葡京真人网站,、click之后触发。

五、进度事件


九、文档事件


9.6、焦点事件

以下事件与文档的URL变化相关。
(1)、hashchange事件

(2)、popstate事件

2.1、概述

8.2、reset事件,submit事件

以下事件发生在表单对象上,而不是发生在表单的成员上。
(1)、reset事件
reset事件当表单重置(所有表单成员变回默认值)时触发。

(2)、submit事件
submit事件当表单数据向服务器提交时触发。注意,submit事件的发生对象是form元素,而不是button元素(即使它的类型是submit),因为提交的是表单,而不是按钮。

1.2、mouseup事件,mousedown事件,mousemove事件

mousedown事件在按下鼠标键时触发。
mouseup事件在释放按下的鼠标键时触发。
mousemove事件当鼠标在一个节点内部移动时触发。当鼠标持续移动时,该事件会连续触发。为了避免性能问题,建议对该事件的监听函数做一些限定,比如限定一段时间内只能运行一次代码。

8.1、Input事件,select事件,change事件

以下事件与表单成员的值变化有关。
(1)、input事件
input事件当<input>、<textarea>的值发生变化时会触发。此外,打开contenteditable属性的元素,只要值发生变化,也会触发input事件。

input事件的一个特点,就是会连续触发,比如用户没次按下一次按键,就会触发一次input事件。

(2)、select事件
select事件当在<input>、<textarea>中选中文本时触发。

(3)、Change事件
Change事件当<input>、<select>、<textarea>的值发生变化时触发。它与input事件的最大不同,就是不会连续触发,只有当全部修改完成时才会触发,而且input事件必然会引发Change事件。

一、鼠标事件


鼠标事件指与鼠标相关的事件,主要有以下一些。

三、wheel事件


wheel事件是与鼠标滚轮相关的事件,目前只有一个wheel事件。用户滚动鼠标的滚轮,就触发这个事件。

该事件除了继承了MouseEvent、UIEvent、Event的属性,还有几个自己的属性。

  • deltaX:返回一个数值,表示滚轮的水平滚动量。
  • deltaY:返回一个数值,表示滚轮的垂直滚动量。
  • deltaZ:返回一个数值,表示滚轮的Z轴滚动量。
  • deltaMode:返回一个数值,表示滚动的单位,适用于上面三个属性。0表示像素,1表示行,2表示页。

浏览器提供一个WheelEvent构造函数,可以用来生成滚轮事件的实例。它接受两个参数,第一个是事件名称,第二个是配置对象。

var  syntheticEvent = new WheelEvent("syntheticWheel",  {"deltaX": 4, "deltaMode": 0});

七、触摸事件


触摸API由三个对象组成。

Touch
TouchList
TouchEvent

发表评论

电子邮件地址不会被公开。 必填项已用*标注