File tree 6 files changed +7
-7
lines changed
1-js/05-data-types/03-string
2-events/03-event-delegation
6 files changed +7
-7
lines changed Original file line number Diff line number Diff line change @@ -186,7 +186,7 @@ for (let char of "Hello") {
186
186
let str = ' Hi' ;
187
187
188
188
str[0 ] = ' h' ; // error
189
- alert ( str[0 ] ); // 无法运行
189
+ alert ( str[0 ] ); // 没成功
190
190
```
191
191
192
192
通常的解决方法是创建一个新的字符串,并将其分配给 ` str ` 而不是以前的字符串。
Original file line number Diff line number Diff line change @@ -199,7 +199,7 @@ One more counter: <input type="button" value="2" data-counter>
199
199
</script >
200
200
```
201
201
202
- 如果我们点击按钮 —— 它的值就会增加。但不仅仅是按钮,一般的方法在这里也很重要 。
202
+ 如果我们点击按钮 —— 它的值就会增加。这里重要的不是按钮,而是这种通用方法 。
203
203
204
204
我们可以根据需要使用 ` data-counter ` 特性,多少都可以。我们可以随时向 HTML 添加新的特性。使用事件委托,我们属于对 HTML 进行了“扩展”,添加了描述新行为的特性。
205
205
Original file line number Diff line number Diff line change @@ -90,7 +90,7 @@ Your email please: <input type="email" id="input">
90
90
91
91
请注意,我们无法通过在 ` onblur ` 事件处理程序中调用 ` event.preventDefault() ` 来“阻止失去焦点”,因为 ` onblur ` 事件处理程序是在元素失去焦点 ** 之后** 运行的。
92
92
93
- 但在实际中,在实现这样的功能之前应该认真考虑一下,因为我们通常 ** 应该将报错展示给用户** ,但 ** 不应该阻止用户在填写我们的表单时的进度 ** 。用户可能会想先填写其他表单项。
93
+ 但在实际中,在实现这样的功能之前应该认真考虑一下,因为我们通常 ** 应该将报错展示给用户** ,但 ** 不应该阻止用户填写表单的进程 ** 。用户可能会想先填写其他表单项。
94
94
95
95
``` warn header="JavaScript 导致的焦点丢失"
96
96
很多种原因可以导致焦点丢失。
Original file line number Diff line number Diff line change 95
95
96
96
因此,大多数浏览器仅允许在某些用户操作范围内(例如复制/粘贴等)对剪切板进行无缝的读/写访问。
97
97
98
- 除火狐(Firefox)浏览器外,所有浏览器都禁止使用 ` dispatchEvent ` 生成“自定义”剪贴板事件,即使我们设法调度此类事件。规范也明确声明了,合成(syntetic )事件不得提供对剪切板的访问权限。
98
+ 除火狐(Firefox)浏览器外,所有浏览器都禁止使用 ` dispatchEvent ` 生成“自定义”剪贴板事件,即使我们设法调度此类事件。规范也明确声明了,合成(synthetic )事件不得提供对剪切板的访问权限。
99
99
100
100
此外,如果有人想将 ` event.clipboardData ` 保存在事件处理程序中,然后稍后再访问它 —— 这也不会生效。
101
101
Original file line number Diff line number Diff line change @@ -325,7 +325,7 @@ JavaScript 仅获取对主请求的响应,如果没有服务器许可,则获
325
325
326
326
这是因为具有凭据的请求比没有凭据的请求要强大得多。如果被允许,它会使用它们的凭据授予 JavaScript 代表用户行为和访问敏感信息的全部权力。
327
327
328
- 服务器真的这么信任这种脚本吗?是的 ,它必须显式地带有允许请求的凭据和附加 header。
328
+ 服务器真的这么信任这种脚本吗?如果是的话 ,它必须显式地带有允许请求的凭据和附加 header。
329
329
330
330
要在 ` fetch` 中发送凭据,我们需要添加 ` credentials: "include"` 选项,像这样:
331
331
Original file line number Diff line number Diff line change @@ -72,7 +72,7 @@ socket.onerror = function(error) {
72
72
73
73
当 ` new WebSocket(url) ` 被创建后,它将立即开始连接。
74
74
75
- 在连接期间,浏览器(使用 header)问服务器:“你支持 WebSocket 吗?”如果服务器回复说“我支持”,那么通信就以 WebSocket 协议继续进行,该协议根本不是 HTTP。
75
+ 在连接期间,浏览器(使用 header)问服务器:“你支持 WebSocket 吗?”如果服务器回复说“我支持”,那么通信就以 WebSocket 协议继续进行,该协议完全不是 HTTP。
76
76
77
77
![ ] ( websocket-handshake.svg )
78
78
@@ -109,7 +109,7 @@ Sec-WebSocket-Accept: hsBlbuDTkk24srzEOTBUlZAlC2g=
109
109
110
110
这里 ` Sec-WebSocket-Accept ` 是 ` Sec-WebSocket-Key ` ,是使用特殊的算法重新编码的。浏览器使用它来确保响应与请求相对应。
111
111
112
- 然后,使用 WebSocket 协议传输数据,我们很快就会看到它的结构("frames")。它根本不是 HTTP。
112
+ 然后,使用 WebSocket 协议传输数据,我们很快就会看到它的结构("frames")。它完全不是 HTTP。
113
113
114
114
### 扩展和子协议
115
115
You can’t perform that action at this time.
0 commit comments