Skip to content

Commit c025735

Browse files
committed
docs(dom): edit GlobalEventHandlers
1 parent 9cc23d5 commit c025735

File tree

1 file changed

+59
-13
lines changed

1 file changed

+59
-13
lines changed

docs/dom/globaleventhandlers.md

Lines changed: 59 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,12 @@ element.onerror = function (event) {
5151

5252
注意,一般来说,资源的加载错误不会触发`window.onerror`
5353

54+
## GlobalEventHandlers.onload、GlobalEventHandlers.onloadstart
55+
56+
元素完成加载时,会触发`load`事件,执行`onload()`。它的典型使用场景是`window`对象和`<img>`元素。对于`window`对象来说,只有页面的所有资源加载完成(包括图片、脚本、样式表、字体等所有外部资源),才会触发`load`事件。
57+
58+
对于`<img>``<video>`等元素,加载开始时还会触发`loadstart`事件,导致执行`onloadstart`
59+
5460
## GlobalEventHandlers.onfocus,GlobalEventHandlers.onblur
5561

5662
当前元素获得焦点时,会触发`element.onfocus`;失去焦点时,会触发`element.onblur`
@@ -88,7 +94,11 @@ element.ondblclick = function () {
8894
};
8995
```
9096

91-
### GlobalEventHandlers.oncontextmenu
97+
## GlobalEventHandlers.onscroll
98+
99+
页面或元素滚动时,会触发`scroll`事件,导致执行`onscroll()`
100+
101+
## GlobalEventHandlers.oncontextmenu,GlobalEventHandlers.onshow
92102

93103
用户在页面上按下鼠标的右键,会触发`contextmenu`事件,导致执行`oncontextmenu()`。如果该属性执行后返回`false`,就等于禁止了右键菜单。`document.oncontextmenu``window.oncontextmenu`效果一样。
94104

@@ -100,6 +110,49 @@ document.oncontextmenu = function () {
100110

101111
上面代码中,`oncontextmenu`属性执行后返回`false`,右键菜单就不会出现。
102112

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+
103156
## 拖动相关属性
104157

105158
拖动相关属性分成两类:一类与被拖动元素相关,另一类接收被拖动元素的容器元素相关。
@@ -133,19 +186,12 @@ element.ondragEnd = function (ev) {
133186
}
134187
```
135188

136-
## 表单相关属性
189+
## 触摸相关事件
137190

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
149195

150196
## 特定元素的属性
151197

0 commit comments

Comments
 (0)