@@ -51,6 +51,12 @@ element.onerror = function (event) {
51
51
52
52
注意,一般来说,资源的加载错误不会触发` window.onerror ` 。
53
53
54
+ ## GlobalEventHandlers.onload、GlobalEventHandlers.onloadstart
55
+
56
+ 元素完成加载时,会触发` load ` 事件,执行` onload() ` 。它的典型使用场景是` window ` 对象和` <img> ` 元素。对于` window ` 对象来说,只有页面的所有资源加载完成(包括图片、脚本、样式表、字体等所有外部资源),才会触发` load ` 事件。
57
+
58
+ 对于` <img> ` 和` <video> ` 等元素,加载开始时还会触发` loadstart ` 事件,导致执行` onloadstart ` 。
59
+
54
60
## GlobalEventHandlers.onfocus,GlobalEventHandlers.onblur
55
61
56
62
当前元素获得焦点时,会触发` element.onfocus ` ;失去焦点时,会触发` element.onblur ` 。
@@ -88,7 +94,11 @@ element.ondblclick = function () {
88
94
};
89
95
```
90
96
91
- ### GlobalEventHandlers.oncontextmenu
97
+ ## GlobalEventHandlers.onscroll
98
+
99
+ 页面或元素滚动时,会触发` scroll ` 事件,导致执行` onscroll() ` 。
100
+
101
+ ## GlobalEventHandlers.oncontextmenu,GlobalEventHandlers.onshow
92
102
93
103
用户在页面上按下鼠标的右键,会触发` contextmenu ` 事件,导致执行` oncontextmenu() ` 。如果该属性执行后返回` false ` ,就等于禁止了右键菜单。` document.oncontextmenu ` 与` window.oncontextmenu ` 效果一样。
94
104
@@ -100,6 +110,49 @@ document.oncontextmenu = function () {
100
110
101
111
上面代码中,` oncontextmenu ` 属性执行后返回` false ` ,右键菜单就不会出现。
102
112
113
+ 元素的右键菜单显示时,会触发该元素的` onshow ` 事件。
114
+
115
+ ## 鼠标相关属性
116
+
117
+ - GlobalEventHandlers.onmousedown
118
+ - GlobalEventHandlers.onmouseenter
119
+ - GlobalEventHandlers.onmouseleave
120
+ - GlobalEventHandlers.onmousemove
121
+ - GlobalEventHandlers.onmouseout
122
+ - GlobalEventHandlers.onmouseover
123
+ - GlobalEventHandlers.onmouseup
124
+ - GlobalEventHandlers.onwheel
125
+
126
+ ## 键盘相关属性
127
+
128
+ - GlobalEventHandlers.onkeydown
129
+ - GlobalEventHandlers.onkeypress
130
+ - GlobalEventHandlers.onkeyup
131
+
132
+ ## 表单相关属性
133
+
134
+ ### GlobalEventHandlers.oninput,GlobalEventHandlers.onchange
135
+
136
+ ` <input> ` 、` <select> ` 、` <textarea> ` 元素的值发生任何一点变更时,都会同步触发` input ` 事件,导致执行` oninput() ` 。当用户的输入告一段落后,输入框失去焦点之后,才会触发` change ` 事件,导致执行` onchange() ` ,也就是说不是每一次输入,都会触发` change ` 事件。
137
+
138
+ 另外,打开` contenteditable ` 属性的元素(变成可编辑模式)的内容发生变化时,也会触发` input ` 事件。
139
+
140
+ ` oninput ` 和` onchange ` 的参数就是事件对象,可以从` event.target.value ` 上拿到用户输入的值。
141
+
142
+ ### GlobalEventHandlers.oninvalid,GlobalEventHandlers.onreset
143
+
144
+ 一个表单元素的值不符合规定条件时,就会触发` invalid ` 事件,导致` oninvalid() ` 执行。
145
+
146
+ 用户重置表单时,会触发` reset ` 事件,导致执行` onreset() ` 。
147
+
148
+ ### GlobalEventHandlers.onselect
149
+
150
+ 表单的` <input> ` 文本输入框和` <textarea> ` 里面的文本被选中,会触发` select ` 事件,导致执行` onselect() ` 。
151
+
152
+ ### GlobalEventHandlers.onsubmit
153
+
154
+ 用户提交表单时,会触发表单元素的` submit ` 事件,导致执行` onsubmit() ` 。
155
+
103
156
## 拖动相关属性
104
157
105
158
拖动相关属性分成两类:一类与被拖动元素相关,另一类接收被拖动元素的容器元素相关。
@@ -133,19 +186,12 @@ element.ondragEnd = function (ev) {
133
186
}
134
187
```
135
188
136
- ## 表单相关属性
189
+ ## 触摸相关事件
137
190
138
- ### GlobalEventHandlers.oninput,GlobalEventHandlers.onchange
139
-
140
- ` <input> ` 、` <select> ` 、` <textarea> ` 元素的值发生任何一点变更时,都会同步触发` input ` 事件,导致执行` oninput() ` 。当用户的输入告一段落后,输入框失去焦点之后,才会触发` change ` 事件,导致执行` onchange() ` ,也就是说不是每一次输入,都会触发` change ` 事件。
141
-
142
- 另外,打开` contenteditable ` 属性的元素(变成可编辑模式)的内容发生变化时,也会触发` input ` 事件。
143
-
144
- ` oninput ` 和` onchange ` 的参数就是事件对象,可以从` event.target.value ` 上拿到用户输入的值。
145
-
146
- ### GlobalEventHandlers.oninvalid
147
-
148
- 一个表单元素的值不符合规定条件时,就会触发` invalid ` 事件,导致` oninvalid() ` 执行。
191
+ - GlobalEventHandlers.ontouchcancel
192
+ - GlobalEventHandlers.ontouchend
193
+ - GlobalEventHandlers.ontouchmove
194
+ - GlobalEventHandlers.ontouchstart
149
195
150
196
## 特定元素的属性
151
197
0 commit comments