You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 2-ui/99-ui-misc/02-selection-range/article.md
+18-18Lines changed: 18 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ libs:
6
6
7
7
# Selection і Range
8
8
9
-
У цьому розділі ми розглянемо виділення у документі, або в полях форми, наприклад в ,`<input>`.
9
+
У цьому розділі ми розглянемо виділення у документі та в полях форми, наприклад в ,`<input>`.
10
10
11
11
JavaScript може отримати доступ до наявного виділення тексту, вибирати/скасовувати виділення вузлів DOM повністю або частково, видаляти вибраний вміст із документа, або обгорнути його в тег тощо.
12
12
@@ -16,25 +16,25 @@ JavaScript може отримати доступ до наявного виді
16
16
17
17
## Range
18
18
19
-
The basic concept of selection is [Range](https://dom.spec.whatwg.org/#ranges), that is essentially a pair of "boundary points": range start and range end.
19
+
Основою виділення є [Range](https://dom.spec.whatwg.org/#ranges), який по своїй суті є парою "граничних точок": початком і кінцем діапазону.
20
20
21
-
A`Range` object is created without parameters:
21
+
Об'єкт`Range`(діапазон) створюється без параметрів:
22
22
23
23
```js
24
24
let range =newRange();
25
25
```
26
26
27
-
Then we can set the selection boundaries using`range.setStart(node, offset)`and`range.setEnd(node, offset)`.
27
+
Далі ми можемо встановити межі виділення за допомогою`range.setStart(node, offset)`і`range.setEnd(node, offset)`.
28
28
29
-
As you might guess, further we'll use the`Range`objects for selection, but first let's create few such objects.
29
+
Як ви могли здогадатися, ми будемо використовувати об’єкти`Range`для виділення, але спочатку давайте створимо декілька таких об’єктів.
30
30
31
-
### Selecting the text partially
31
+
### Часткове виділення тексту
32
32
33
-
The interesting thing is that the first argument `node`in both methods can be either a text node or an element node, and the meaning of the second argument depends on that.
33
+
Цікаво те, що перший аргумент `node`в обох методах може бути або текстовим вузлом, або вузлом елементом, і від цього залежить значення другого аргументу.
34
34
35
-
**If`node`is a text node, then`offset`must be the position in its text.**
35
+
**Якщо`node`-- це текстовий вузол, то`offset`має бути позицією в його тексті.**
36
36
37
-
For example, given the element `<p>Hello</p>`, we can create the range containing the letters "ll" as follows:
37
+
Наприклад, в елементі `<p>Hello</p>`, ми можемо створити діапазон, що містить літери "ll" таким чином:
38
38
39
39
```html run
40
40
<pid="p">Hello</p>
@@ -43,28 +43,28 @@ For example, given the element `<p>Hello</p>`, we can create the range containin
43
43
range.setStart(p.firstChild, 2);
44
44
range.setEnd(p.firstChild, 4);
45
45
46
-
// toString of a range returns its content as text
46
+
// toString діапазону повертає його вміст як текст
47
47
console.log(range); // ll
48
48
</script>
49
49
```
50
50
51
-
Here we take the first child of`<p>` (that's the text node) and specify the text positions inside it:
51
+
Тут ми беремо перший дочірній елемент всередині`<p>` (це текстовий вузол) і вказуємо позиції тексту для виділення:
52
52
53
53

54
54
55
-
### Selecting element nodes
55
+
### Виділення вузлів елементів
56
56
57
-
**Alternatively, if`node`is an element node, then`offset`must be the child number.**
57
+
**Проте, якщо`node`є вузлом елементом, тоді`offset`має бути номером дочірнього елементу.**
58
58
59
-
That's handy for making ranges that contain nodes as a whole, not stop somewhere inside their text.
59
+
Це зручно для створення діапазонів, які містять вузли в цілому, а не зупиняються десь усередині їхнього тексту.
60
60
61
-
For example, we have a more complex document fragment:
61
+
Наприклад, маємо більш складний фрагмент документу:
62
62
63
63
```html autorun
64
64
<pid="p">Example: <i>italic</i> and <b>bold</b></p>
65
65
```
66
66
67
-
Here's its DOM structure with both element and text nodes:
67
+
Ось його структура DOM з елементами та текстовими вузлами:
0 commit comments