Trong chương này, chúng ta sẽ đề cập đến lựa chọn trong tài liệu, cũng như lựa chọn trong các trường biểu mẫu, chẳng hạn như
Example: italic and bold
0JavaScript có thể truy cập một lựa chọn hiện có, chọn/bỏ chọn toàn bộ hoặc một phần các nút DOM, xóa nội dung đã chọn khỏi tài liệu, gói nội dung đó vào một thẻ, v.v.
Bạn có thể tìm thấy một số công thức cho các nhiệm vụ phổ biến ở cuối chương, trong phần “Tóm tắt”. Có thể điều đó đáp ứng nhu cầu hiện tại của bạn, nhưng bạn sẽ nhận được nhiều hơn thế nếu bạn đọc toàn bộ văn bản
Các đối tượng
Example: italic and bold
1 và Example: italic and bold
2 cơ bản rất dễ nắm bắt và sau đó bạn sẽ không cần công thức nào để khiến chúng làm những gì bạn muốnPhạm vi
Khái niệm cơ bản của lựa chọn là Phạm vi, về cơ bản là một cặp “điểm biên”. phạm vi bắt đầu và phạm vi kết thúc
Đối tượng
Example: italic and bold
1 được tạo không có tham sốlet range = new Range[];
Sau đó, chúng ta có thể đặt ranh giới lựa chọn bằng cách sử dụng
Example: italic and bold
4 và Example: italic and bold
5Như bạn có thể đoán, hơn nữa chúng ta sẽ sử dụng các đối tượng
Example: italic and bold
1 để lựa chọn, nhưng trước tiên hãy tạo một vài đối tượng như vậyChọn văn bản một phần
Điều thú vị là đối số đầu tiên
Example: italic and bold
7 trong cả hai phương thức có thể là nút văn bản hoặc nút phần tử và ý nghĩa của đối số thứ hai phụ thuộc vào điều đóNếu
Example: italic and bold
7 là một nút văn bản, thì Example: italic and bold
9 phải là vị trí trong văn bản của nóVí dụ, với phần tử
Example: italic and bold
10, chúng ta có thể tạo dãy chứa các chữ cái “ll” như sauExample: italic and bold
2Ở đây, chúng tôi lấy con đầu tiên của
Example: italic and bold
11 [đó là nút văn bản] và chỉ định vị trí văn bản bên trong nóChọn các nút phần tử
Ngoài ra, nếu
Example: italic and bold
7 là một nút phần tử, thì Example: italic and bold
9 phải là số conĐiều đó rất hữu ích để tạo các phạm vi chứa toàn bộ các nút, không dừng ở đâu đó bên trong văn bản của chúng
Ví dụ: chúng tôi có một đoạn tài liệu phức tạp hơn
Example: italic and bold
Đây là cấu trúc DOM của nó với cả nút phần tử và nút văn bản
Hãy tạo một phạm vi cho
Example: italic and bold
14Như chúng ta có thể thấy, cụm từ này bao gồm chính xác hai con của
Example: italic and bold
11, với chỉ mục là Example: italic and bold
16 và Example: italic and bold
17Điểm bắt đầu có
11 là cha mẹ củaExample: italic and bold
7 vàExample: italic and bold
16 là phần bùExample: italic and bold
Vì vậy, chúng tôi có thể đặt nó là
41Example: italic and bold
Điểm kết thúc cũng có
11 làm gốcExample: italic and bold
7, nhưngExample: italic and bold
44 làm phần bù [nó chỉ định phạm vi lên tới, nhưng không bao gồmExample: italic and bold
9]Example: italic and bold
Vì vậy, chúng tôi có thể đặt nó là
46Example: italic and bold
Đây là bản demo. Nếu bạn chạy nó, bạn có thể thấy văn bản được chọn
Example: italic and bold
1Đây là một giá thử nghiệm linh hoạt hơn, nơi bạn có thể đặt số bắt đầu/kết thúc phạm vi và khám phá các biến thể khác
Example: italic and bold
4E. g. chọn trong cùng một
Example: italic and bold
11 từ offset Example: italic and bold
17 đến Example: italic and bold
49 cho chúng ta phạm vi Example: italic and bold
50Các nút bắt đầu và kết thúc có thể khác nhau
Chúng tôi không phải sử dụng cùng một nút trong
Example: italic and bold
51 và Example: italic and bold
52. Một phạm vi có thể trải rộng trên nhiều nút không liên quan. Điều quan trọng duy nhất là kết thúc sau phần bắt đầu trong tài liệuChọn một mảnh lớn hơn
Hãy tạo một vùng chọn lớn hơn trong ví dụ của chúng ta, như thế này
Chúng tôi đã biết làm thế nào để làm điều đó. Chúng ta chỉ cần đặt phần đầu và phần cuối làm phần bù tương đối trong các nút văn bản
Chúng ta cần phải tạo ra một phạm vi, mà
- bắt đầu từ vị trí thứ 2 trong
11 con đầu lòng [lấy tất cả trừ hai chữ cái đầu của "Ví dụ. "]Example: italic and bold
- kết thúc ở vị trí thứ 3 trong
54 con đầu lòng [lấy ba chữ cái đầu tiên của chữ “đậm”, nhưng không còn nữa]Example: italic and bold
Example: italic and bold
5Như bạn có thể thấy, khá dễ dàng để tạo ra một loạt bất cứ thứ gì chúng ta muốn
Nếu chúng tôi muốn lấy toàn bộ các nút, chúng tôi có thể chuyển các phần tử trong
Example: italic and bold
55. Nếu không, chúng ta có thể làm việc ở cấp độ văn bảnThuộc tính phạm vi
Đối tượng phạm vi mà chúng tôi đã tạo trong ví dụ trên có các thuộc tính sau
56,Example: italic and bold
57 – nút và phần bù của điểm bắt đầu,Example: italic and bold
- trong ví dụ trên. nút văn bản đầu tiên bên trong
11 vàExample: italic and bold
44Example: italic and bold
- trong ví dụ trên. nút văn bản đầu tiên bên trong
60,let range = new Range[];
61 – nút và phần bù của phần cuối,let range = new Range[];
- trong ví dụ trên. nút văn bản đầu tiên bên trong
54 vàExample: italic and bold
63let range = new Range[];
- trong ví dụ trên. nút văn bản đầu tiên bên trong
64 – boolean,let range = new Range[];
65 nếu phạm vi bắt đầu và kết thúc tại cùng một điểm [vì vậy không có nội dung bên trong phạm vi],let range = new Range[];
- trong ví dụ trên.
66let range = new Range[];
- trong ví dụ trên.
67 – tổ tiên chung gần nhất của tất cả các nút trong phạm vi,let range = new Range[];
- trong ví dụ trên.
11Example: italic and bold
- trong ví dụ trên.
phương pháp lựa chọn phạm vi
Có nhiều phương pháp thuận tiện để thao tác phạm vi
Chúng tôi đã thấy
Example: italic and bold
51 và Example: italic and bold
52, đây là các phương pháp tương tự khácĐặt phạm vi bắt đầu
71 bắt đầu lúc. vị tríExample: italic and bold
9 trongExample: italic and bold
7Example: italic and bold
74 bắt đầu lúc. ngay trướcExample: italic and bold
7Example: italic and bold
76 bắt đầu lúc. ngay sauExample: italic and bold
7Example: italic and bold
Đặt phạm vi kết thúc [phương pháp tương tự]
78 đặt kết thúc tại. vị tríExample: italic and bold
9 trongExample: italic and bold
7Example: italic and bold
71 đặt kết thúc tại. ngay trướcExample: italic and bold
7Example: italic and bold
73 đặt kết thúc tại. ngay sauExample: italic and bold
7Example: italic and bold
Về mặt kỹ thuật,
Example: italic and bold
55 có thể làm bất cứ điều gì, nhưng nhiều phương pháp hơn sẽ mang lại nhiều tiện ích hơnTrong tất cả các phương thức này,
Example: italic and bold
7 có thể vừa là nút văn bản hoặc phần tử. đối với các nút văn bản, Example: italic and bold
9 bỏ qua nhiều ký tự đó, trong khi đối với các nút phần tử, nhiều nút conThậm chí nhiều phương pháp hơn để tạo phạm vi
- Phạm vi thiết lập
78 để chọn toàn bộExample: italic and bold
7Example: italic and bold
- Phạm vi thiết lập
60 để chọn toàn bộ nội dung củaExample: italic and bold
7Example: italic and bold
62 nếuExample: italic and bold
63 đặt end=start, nếu không thì đặt start=end, do đó thu gọn phạm viExample: italic and bold
64 tạo một phạm vi mới có cùng điểm bắt đầu/kết thúcExample: italic and bold
Phương pháp chỉnh sửa phạm vi
Khi phạm vi được tạo, chúng ta có thể thao tác nội dung của nó bằng các phương thức này
65 – xóa nội dung phạm vi khỏi tài liệuExample: italic and bold
66 – xóa nội dung phạm vi khỏi tài liệu và trả về dưới dạng DocumentFragmentExample: italic and bold
67 – sao chép nội dung phạm vi và trả về dưới dạng DocumentFragmentExample: italic and bold
68 – chènExample: italic and bold
7 vào tài liệu ở đầu phạm viExample: italic and bold
200 – bọcExample: italic and bold
7 xung quanh nội dung phạm vi. Để điều này hoạt động, phạm vi phải chứa cả thẻ mở và thẻ đóng cho tất cả các phần tử bên trong nó. không có phạm vi một phần nhưExample: italic and bold
202Example: italic and bold
Với những phương pháp này, về cơ bản chúng ta có thể làm bất cứ điều gì với các nút đã chọn
Đây là giá đỡ thử nghiệm để xem chúng hoạt động
let range = new Range[];
6Cũng tồn tại các phương pháp để so sánh các phạm vi, nhưng chúng hiếm khi được sử dụng. Khi bạn cần chúng, vui lòng tham khảo thông số kỹ thuật hoặc hướng dẫn sử dụng MDN
Lựa chọn
Example: italic and bold
1 là một đối tượng chung để quản lý phạm vi lựa chọn. Mặc dù, tạo một Example: italic and bold
1 không có nghĩa là chúng ta thấy một lựa chọn trên màn hìnhChúng tôi có thể tạo các đối tượng
Example: italic and bold
1, chuyển chúng xung quanh – chúng không tự chọn bất kỳ thứ gì một cách trực quanViệc lựa chọn tài liệu được đại diện bởi đối tượng
Example: italic and bold
2, có thể được lấy dưới dạng Example: italic and bold
207 hoặc Example: italic and bold
208. Một lựa chọn có thể bao gồm 0 hoặc nhiều phạm vi. Ít nhất, đặc tả API Lựa chọn nói như vậy. Tuy nhiên, trên thực tế, chỉ Firefox mới cho phép chọn nhiều phạm vi trong tài liệu bằng cách sử dụng Ctrl + click [Cmd +< . click for Mac].Đây là ảnh chụp màn hình của vùng chọn có 3 phạm vi, được tạo trên Firefox
Các trình duyệt khác hỗ trợ tối đa 1 phạm vi. Như chúng ta sẽ thấy, một số phương thức của
Example: italic and bold
2 ngụ ý rằng có thể có nhiều phạm vi, nhưng một lần nữa, trong tất cả các trình duyệt ngoại trừ Firefox, chỉ có tối đa 1 phạm vi.Đây là một bản trình diễn nhỏ hiển thị lựa chọn hiện tại [chọn thứ gì đó và nhấp] dưới dạng văn bản
cảnh báo [tài liệu. getSelection[]]
Thuộc tính lựa chọn
Như đã nói, về lý thuyết, một vùng chọn có thể chứa nhiều phạm vi. Chúng ta có thể lấy các đối tượng phạm vi này bằng phương thức
210 – lấy phạm vi thứ i, bắt đầu từExample: italic and bold
16. Trong tất cả các trình duyệt ngoại trừ Firefox, chỉ cóExample: italic and bold
16 được sử dụngExample: italic and bold
Ngoài ra, tồn tại các thuộc tính thường mang lại sự thuận tiện tốt hơn
Tương tự như một phạm vi, một đối tượng lựa chọn có phần đầu, được gọi là "neo" và phần cuối, được gọi là "tiêu điểm"
Các thuộc tính lựa chọn chính là
213 – nút bắt đầu lựa chọn,Example: italic and bold
214 – phần bù trongExample: italic and bold
213 nơi bắt đầu lựa chọn,Example: italic and bold
216 – nút nơi lựa chọn kết thúc,Example: italic and bold
217 – phần bù trongExample: italic and bold
216 khi lựa chọn kết thúc,Example: italic and bold
219 –Example: italic and bold
65 nếu lựa chọn không chọn gì [phạm vi trống] hoặc không tồn tạilet range = new Range[];
221 – số phạm vi trong vùng chọn, tối đaExample: italic and bold
17 trong tất cả các trình duyệt ngoại trừ FirefoxExample: italic and bold
Lựa chọn kết thúc/bắt đầu so với Phạm vi
Có một sự khác biệt quan trọng của điểm neo/tiêu điểm lựa chọn so với điểm bắt đầu/kết thúc của
Example: italic and bold
1Như chúng ta đã biết, đối tượng
Example: italic and bold
1 luôn có điểm bắt đầu trước điểm kết thúcĐối với các lựa chọn, không phải lúc nào cũng vậy
Chọn thứ gì đó bằng chuột có thể được thực hiện theo cả hai hướng. “từ trái sang phải” hoặc “từ phải sang trái”
Nói cách khác, khi nút chuột được nhấn và sau đó nó di chuyển về phía trước trong tài liệu, thì phần cuối [tiêu điểm] của nó sẽ ở sau phần đầu [điểm neo]
E. g. nếu người dùng bắt đầu chọn bằng chuột và chuyển từ “Ví dụ” sang “in nghiêng”
…Nhưng cùng một lựa chọn có thể được thực hiện ngược lại. bắt đầu từ “in nghiêng” đến “Ví dụ” [hướng ngược], sau đó phần cuối của nó [tiêu điểm] sẽ ở trước phần bắt đầu [neo]
sự kiện tuyển chọn
Có các sự kiện để theo dõi lựa chọn
225 – khi một lựa chọn bắt đầu cụ thể trên phần tửExample: italic and bold
226 [hoặc bên trong nó]. Chẳng hạn, khi người dùng nhấn nút chuột vào nó và bắt đầu di chuyển con trỏExample: italic and bold
- Ngăn chặn hành động mặc định hủy bỏ lựa chọn bắt đầu. Vì vậy, bắt đầu lựa chọn từ phần tử này trở nên không thể, nhưng phần tử vẫn có thể chọn được. Khách truy cập chỉ cần bắt đầu lựa chọn từ nơi khác
227 – bất cứ khi nào lựa chọn thay đổi hoặc bắt đầuExample: italic and bold
- Xin lưu ý. trình xử lý này chỉ có thể được đặt trên
228, nó theo dõi tất cả các lựa chọn trong đóExample: italic and bold
- Xin lưu ý. trình xử lý này chỉ có thể được đặt trên
Demo theo dõi lựa chọn
Đây là một bản demo nhỏ. Nó theo dõi lựa chọn hiện tại trên
Example: italic and bold
228 và hiển thị ranh giới của nóExample: italic and bold
7Bản trình diễn sao chép lựa chọn
Có hai cách để sao chép nội dung đã chọn
- Chúng ta có thể sử dụng
230 để lấy nó dưới dạng văn bảnExample: italic and bold
- Mặt khác, để sao chép toàn bộ DOM, e. g. nếu chúng tôi cần giữ định dạng, chúng tôi có thể lấy các phạm vi cơ bản với
231. Ngược lại, một đối tượngExample: italic and bold
1 có phương thứcExample: italic and bold
67 sao chép nội dung của nó và trả về dưới dạng đối tượngExample: italic and bold
234, mà chúng ta có thể chèn vào nơi khácExample: italic and bold
Đây là bản demo sao chép nội dung đã chọn dưới dạng văn bản và dưới dạng các nút DOM
Example: italic and bold
7phương pháp lựa chọn
Chúng ta có thể làm việc với vùng chọn bằng cách thêm/xóa phạm vi
210 – lấy phạm vi thứ i, bắt đầu từExample: italic and bold
16. Trong tất cả các trình duyệt ngoại trừ Firefox, chỉ cóExample: italic and bold
16 được sử dụngExample: italic and bold
238 – thêmExample: italic and bold
239 vào lựa chọn. Tất cả các trình duyệt ngoại trừ Firefox bỏ qua cuộc gọi, nếu lựa chọn đã có một phạm vi liên quanExample: italic and bold
240 – loại bỏExample: italic and bold
239 khỏi lựa chọnExample: italic and bold
242 – xóa tất cả các phạm viExample: italic and bold
243 – bí danh củaExample: italic and bold
244Example: italic and bold
Ngoài ra còn có các phương pháp tiện lợi để thao tác trực tiếp với phạm vi lựa chọn mà không cần các lệnh gọi trung gian
Example: italic and bold
1
246 – thay thế phạm vi đã chọn bằng một phạm vi mới bắt đầu và kết thúc tạiExample: italic and bold
7 đã cho, tại vị tríExample: italic and bold
9Example: italic and bold
249 – bí danh củaExample: italic and bold
250Example: italic and bold
251 – thu gọn [thay thế bằng một phạm vi trống] để bắt đầu lựa chọn,Example: italic and bold
252 – sụp đổ đến cuối lựa chọn,Example: italic and bold
253 – di chuyển tiêu điểm của vùng chọn đếnExample: italic and bold
7 đã cho, vị tríExample: italic and bold
9,Example: italic and bold
256 – thay thế phạm vi lựa chọn bằng bắt đầu nhất địnhExample: italic and bold
257 và kết thúcExample: italic and bold
258. Tất cả nội dung ở giữa chúng được chọnExample: italic and bold
259 – chọn tất cả con củaExample: italic and bold
7Example: italic and bold
261 – xóa nội dung đã chọn khỏi tài liệuExample: italic and bold
262 – kiểm tra xem lựa chọn có chứaExample: italic and bold
7 hay không [một phần nếu đối số thứ hai làExample: italic and bold
65]let range = new Range[];
Đối với hầu hết các tác vụ, các phương thức này đều ổn, không cần truy cập đối tượng
Example: italic and bold
1 bên dướiVí dụ chọn toàn bộ nội dung của đoạn
Example: italic and bold
11Example: italic and bold
6Điều tương tự khi sử dụng phạm vi
Example: italic and bold
20Để chọn thứ gì đó, trước tiên hãy xóa lựa chọn hiện tại
Nếu một lựa chọn tài liệu đã tồn tại, hãy làm trống nó trước với
Example: italic and bold
242. Và sau đó thêm phạm vi. Mặt khác, tất cả các trình duyệt ngoại trừ Firefox đều bỏ qua các phạm vi mớiNgoại lệ là một số phương pháp lựa chọn, thay thế lựa chọn hiện có, chẳng hạn như
Example: italic and bold
268Lựa chọn trong điều khiển biểu mẫu
Các phần tử biểu mẫu, chẳng hạn như
Example: italic and bold
269 và Example: italic and bold
270 cung cấp API đặc biệt để lựa chọn, không có đối tượng Example: italic and bold
2 hoặc Example: italic and bold
1. Vì giá trị đầu vào là một văn bản thuần túy, không phải HTML, nên không cần các đối tượng như vậy, mọi thứ đơn giản hơn nhiềuTính chất
273 – vị trí bắt đầu lựa chọn [có thể ghi],Example: italic and bold
274 – vị trí kết thúc lựa chọn [có thể ghi],Example: italic and bold
275 – hướng lựa chọn, một trong. “tiến”, “lùi” hoặc “không” [nếu e. g. được chọn bằng cách nhấp đúp chuột],Example: italic and bold
Sự kiện
276 – kích hoạt khi thứ gì đó được chọnExample: italic and bold
phương pháp
277 – chọn mọi thứ trong điều khiển văn bản [có thể làExample: italic and bold
270 thay vìExample: italic and bold
269],Example: italic and bold
280 – thay đổi lựa chọn để kéo dài từ vị tríExample: italic and bold
281 đếnExample: italic and bold
282, theo hướng đã cho [tùy chọn]Example: italic and bold
283 – thay thế một dãy văn bản bằng văn bản mớiExample: italic and bold
Các đối số tùy chọn
281 vàExample: italic and bold
282, nếu được cung cấp, hãy đặt phạm vi bắt đầu và kết thúc, nếu không thì lựa chọn của người dùng sẽ được sử dụngExample: italic and bold
Đối số cuối cùng,
286, xác định cách thiết lập lựa chọn sau khi văn bản được thay thế. Các giá trị có thể làExample: italic and bold
287 – văn bản mới chèn sẽ được chọnExample: italic and bold
288 – phạm vi lựa chọn thu gọn ngay trước văn bản được chèn [con trỏ sẽ ở ngay trước văn bản đó]Example: italic and bold
289 – phạm vi lựa chọn thu gọn ngay sau văn bản được chèn [con trỏ sẽ ở ngay sau nó]Example: italic and bold
290 – cố gắng duy trì lựa chọn. Đây là mặc địnhExample: italic and bold
Bây giờ hãy xem các phương pháp này hoạt động
Ví dụ. lựa chọn theo dõi
Ví dụ: mã này sử dụng sự kiện
Example: italic and bold
291 để theo dõi lựa chọnExample: italic and bold
21Xin lưu ý
291 kích hoạt khi thứ gì đó được chọn, nhưng không kích hoạt khi lựa chọn bị xóaExample: italic and bold
- Theo thông số kỹ thuật, sự kiện
227 không được kích hoạt cho các lựa chọn bên trong điều khiển biểu mẫu, vì nó không liên quan đến lựa chọn và phạm vi củaExample: italic and bold
228. Một số trình duyệt tạo ra nó, nhưng chúng ta không nên dựa vào nóExample: italic and bold
Ví dụ. di chuyển con trỏ
Chúng ta có thể thay đổi
Example: italic and bold
295 và Example: italic and bold
296, điều này đặt vùng chọnMột trường hợp cạnh quan trọng là khi
Example: italic and bold
295 và Example: italic and bold
296 bằng nhau. Sau đó, nó chính xác là vị trí con trỏ. Hoặc, để viết lại, khi không có gì được chọn, lựa chọn được thu gọn tại vị trí con trỏVì vậy, bằng cách đặt
Example: italic and bold
295 và Example: italic and bold
296 thành cùng một giá trị, chúng tôi di chuyển con trỏVí dụ
Example: italic and bold
22Ví dụ. sửa đổi lựa chọn
Để sửa đổi nội dung của vùng chọn, chúng ta có thể sử dụng phương thức
Example: italic and bold
01. Tất nhiên, chúng ta có thể đọc Example: italic and bold
02 và với kiến thức về lựa chọn, thay đổi chuỗi con tương ứng của Example: italic and bold
03, nhưng Example: italic and bold
04 mạnh hơn và thường thuận tiện hơnĐó là một phương pháp hơi phức tạp. Ở dạng một đối số đơn giản nhất, nó thay thế phạm vi người dùng đã chọn và xóa lựa chọn
Ví dụ: ở đây, lựa chọn của người dùng sẽ được bao bọc bởi
Example: italic and bold
05Example: italic and bold
23Với nhiều đối số hơn, chúng ta có thể đặt phạm vi
Example: italic and bold
281 và Example: italic and bold
282Trong ví dụ này, chúng tôi tìm thấy
Example: italic and bold
08 trong văn bản đầu vào, thay thế nó và giữ lựa chọn thay thếExample: italic and bold
24Ví dụ. chèn vào con trỏ
Nếu không có gì được chọn hoặc chúng tôi sử dụng
Example: italic and bold
281 và Example: italic and bold
282 bằng nhau trong Example: italic and bold
04, thì văn bản mới chỉ được chèn vào, không có gì bị xóaChúng tôi cũng có thể chèn một cái gì đó "tại con trỏ" bằng cách sử dụng
Example: italic and bold
04Đây là nút chèn
Example: italic and bold
13 vào vị trí con trỏ và đặt con trỏ ngay sau nó. Nếu lựa chọn không trống, thì nó sẽ được thay thế [chúng ta có thể phát hiện ra nó bằng cách so sánh Example: italic and bold
14 và thay vào đó làm một việc khác]Example: italic and bold
25Làm cho không thể chọn
Để làm cho một cái gì đó không thể chọn, có ba cách
Sử dụng thuộc tính CSS
15Example: italic and bold
26Example: italic and bold
Điều này không cho phép lựa chọn bắt đầu tại
226. Nhưng người dùng có thể bắt đầu lựa chọn ở nơi khác và bao gồmExample: italic and bold
226 vào đóExample: italic and bold
Sau đó,
226 sẽ trở thành một phần củaExample: italic and bold
208, vì vậy việc lựa chọn thực sự xảy ra, nhưng nội dung của nó thường bị bỏ qua trong quá trình sao chép-dánExample: italic and bold
Ngăn hành động mặc định trong các sự kiện
20 hoặcExample: italic and bold
21Example: italic and bold
27Example: italic and bold
Điều này ngăn việc bắt đầu lựa chọn trên
226, nhưng khách truy cập có thể bắt đầu lựa chọn đó ở một phần tử khác, sau đó mở rộng đếnExample: italic and bold
226Example: italic and bold
Điều đó thuận tiện khi có một trình xử lý sự kiện khác trên cùng một hành động kích hoạt lựa chọn [e. g.
21]. Vì vậy, chúng tôi vô hiệu hóa lựa chọn để tránh xung đột, vẫn cho phép sao chép nội dungExample: italic and bold
226Example: italic and bold
Chúng tôi cũng có thể xóa lựa chọn post-factum sau khi nó xảy ra với
26. Điều đó hiếm khi được sử dụng, vì điều này gây ra hiện tượng nhấp nháy không mong muốn khi lựa chọn xuất hiện-biến mấtExample: italic and bold
Người giới thiệu
- Thông số DOM. Phạm vi
- API lựa chọn
- thông số kỹ thuật HTML. API cho các lựa chọn kiểm soát văn bản
Tóm lược
Chúng tôi đã đề cập đến hai API khác nhau cho các lựa chọn
- Đối với tài liệu. đối tượng
2 vàExample: italic and bold
1Example: italic and bold
- Cho
269,Example: italic and bold
270. các phương thức và thuộc tính bổ sungExample: italic and bold
API thứ hai rất đơn giản vì nó hoạt động với văn bản
Các công thức nấu ăn được sử dụng nhiều nhất có lẽ là
- Lấy lựa chọn
28Example: italic and bold
- Đặt lựa chọn
29Example: italic and bold
Và cuối cùng, về con trỏ. Vị trí con trỏ trong các thành phần có thể chỉnh sửa, như
Example: italic and bold
31 luôn ở đầu hoặc cuối vùng chọn. Chúng ta có thể sử dụng nó để lấy vị trí con trỏ hoặc di chuyển con trỏ bằng cách đặt Example: italic and bold
32 và Example: italic and bold
33