Skip to content

Commit 6c93cda

Browse files
authored
👾 smth
1 parent 186da86 commit 6c93cda

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

2-ui/4-forms-controls/2-focus-blur/article.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
# Фокусировка: focus/blur
23

34
Элемент получает фокус, когда пользователь кликает по нему или использует клавишу `key:Tab`. Также существует HTML-атрибут `autofocus`, который устанавливает фокус на элемент, когда страница загружается. Есть и другие способы получения фокуса, о них - далее.
@@ -51,7 +52,6 @@
5152

5253
Современный HTML позволяет делать валидацию с помощью атрибутов `required`, `pattern` и т.д. Иногда - это всё, что нам нужно. JavaScript можно использовать, когда мы хотим больше гибкости. А ещё мы могли бы отправлять изменённое значение на сервер, если оно правильное.
5354

54-
5555
## Методы focus/blur
5656

5757
Методы `elem.focus()` и `elem.blur()` устанавливают/снимают фокус.
@@ -90,6 +90,8 @@
9090

9191
Отметим, что мы не можем "отменить потерю фокуса", вызвав `event.preventDefault()` в обработчике `onblur` потому, что `onblur` срабатывает *после* потери фокуса элементом.
9292

93+
Однако на практике следует хорошо подумать, прежде чем внедрять что-то подобное, потому что мы обычно *должны показывать ошибки* пользователю, но они *не должны мешать* пользователю при заполнении нашей формы. Ведь, вполне возможно, что он захочет сначала заполнить другие поля.
94+
9395
```warn header="Потеря фокуса, вызванная JavaScript"
9496
Потеря фокуса может произойти по множеству причин.
9597
@@ -102,6 +104,7 @@
102104
103105
Используя эти события, нужно быть осторожным. Если мы хотим отследить потерю фокуса, которую инициировал пользователь, тогда нам следует избегать её самим.
104106
```
107+
105108
## Включаем фокусировку на любом элементе: tabindex
106109

107110
Многие элементы по умолчанию не поддерживают фокусировку.
@@ -125,6 +128,7 @@
125128
- `tabindex="0"` ставит элемент в один ряд с элементами без `tabindex`. То есть, при переключении такие элементы будут после элементов с `tabindex ≥ 1`.
126129

127130
Обычно используется, чтобы включить фокусировку на элементе, но не менять порядок переключения. Чтобы элемент мог участвовать в форме наравне с обычными `<input>`.
131+
128132
- `tabindex="-1"` позволяет фокусироваться на элементе только программно. Клавиша `key:Tab` проигнорирует такой элемент, но метод `elem.focus()` будет действовать.
129133

130134
Например, список ниже. Кликните первый пункт в списке и нажмите `key:Tab`:

0 commit comments

Comments
 (0)