SyntheticEvent
← Назад
Тип |
Атрибут |
boolean |
bubbles |
boolean |
cancelable |
DOMEventTarget |
currentTarget |
boolean |
defaultPrevented |
number |
eventPhase |
boolean |
isTrusted |
DOMEvent |
nativeEvent |
void |
preventDefault() |
boolean |
isDefaultPrevented() |
void |
stopPropagation() |
boolean |
isPropagationStopped() |
void |
persist() |
DOMEventTarget |
target |
number |
timeStamp |
string |
type |
Поддерживаемые события
- События буфера обмена
- Композиционные события
- События клавиатуры
- События фокуса
- События формы
- Общие события
- События мыши
- События курсора
- События выбора
- Сенсорные события
- События UI
- События колёсика мыши
- События медиа-элементов
- События изображений
- События анимаций
- События переходов
- Другие события
События буфера обмена
Тип |
Свойства |
DOMDataTransfer |
clipboardData |
Композиционные события
- onCompositionEnd
- onCompositionStart
- onCompositionUpdate
События клавиатуры
- onKeyDown
- onKeyPress
- onKeyUp
Тип |
Свойства |
boolean |
altKey |
number |
charCode |
boolean |
ctrlKey |
boolean |
getModifierState(key) |
string |
key |
number |
keyCode |
string |
locale |
number |
location |
boolean |
metaKey |
boolean |
repeat |
boolean |
shiftKey |
number |
which |
События фокуса
Эти события фокуса работают не только на элементах формы, но и на всех остальных элементах в React DOM.
Тип |
Свойства |
DOMEventTarget |
relatedTarget |
onFocus
Событие onFocus вызывается при перемещении фокуса на элемент (включая дочерние элементы внутри него).
function Example() {
return (
<input
onFocus={(e) => {
console.log('Получен фокус на поле ввода');
}}
placeholder="onFocus выполнится при нажатии на это поле ввода." />
)
}
onBlur
Событие onBlur вызывается при пропадании фокуса с элемента (включая дочерние элементы внутри него).
function Example() {
return (
<input
onBlur={(e) => {
console.log('Пропал фокус с поля ввода');
}}
placeholder="onBlur выполнится в случае изменения фокуса с этого поля ввода на любой другой элемент." />
)
}
Отслеживание получения и перемещения фокуса
Можно использовать свойства currentTarget
и relatedTarget
, чтобы определить, когда наступили события появления или
исчезновения фокуса за пределами родительского элемента.
function Example() {
return (
<div
tabIndex={1}
onFocus={(e) => {
if (e.currentTarget === e.target) {
console.log('фокус на родительском элементе установлен');
} else {
console.log('фокус на дочернем элементе установлен', e.target);
}
if (!e.currentTarget.contains(e.relatedTarget)) {
// Не срабатывает при перемещении фокуса между дочерними элементами
console.log('фокус находится внутри родительского элемента');
}
}}
onBlur={(e) => {
if (e.currentTarget === e.target) {
console.log('фокус на родительском элементе снят');
} else {
console.log('фокус на дочернем элементе снят', e.target);
}
if (!e.currentTarget.contains(e.relatedTarget)) {
// Не срабатывает при перемещении фокуса между дочерними элементами
console.log('фокус потерян изнутри родительского элемента');
}
}}
>
<input id="1" />
<input id="2" />
</div>
);
}
События формы
- onChange
- onInput
- onInvalid
- onReset
- onSubmit
Общие события
События мыши
- onClick
- onContextMenu
- onDoubleClick
- onDrag onDragEnd
- onDragEnter
- onDragExit
- onDragLeave
- onDragOver
- onDragStart
- onDrop
- onMouseDown
- onMouseEnter
- onMouseLeave
- onMouseMove
- onMouseOut
- onMouseOver
- onMouseUp
События onMouseEnter
и onMouseLeave
всплывают с покинутого элемента к наведённому, вместо обычного процесса всплытия
и не имеют фазы перехвата.
Тип |
Свойства |
boolean |
altKey |
number |
button |
number |
buttons |
number |
clientX |
number |
clientY |
boolean |
ctrlKey |
boolean |
getModifierState(key) |
boolean |
metaKey |
number |
pageX |
number |
pageY |
DOMEventTarget |
relatedTarget |
number |
screenX |
number |
screenY |
boolean |
shiftKey |
События курсора
- onPointerDown
- onPointerMove
- onPointerUp
- onPointerCancel
- onGotPointerCapture
- onLostPointerCapture
- onPointerEnter
- onPointerLeave
- onPointerOver
- onPointerOut
События onPointerEnter
и onPointerLeave
всплывают с покинутого элемента к наведённому, вместо обычного процесса
всплытия и не имеют фазы перехвата.
Тип |
Свойства |
number |
pointerId |
number |
width |
number |
height |
number |
pressure |
number |
tangentialPressure |
number |
tiltX |
number |
tiltY |
number |
twist |
string |
pointerType |
boolean |
isPrimary |
События выбора
Сенсорные события
- onTouchCancel
- onTouchEnd
- onTouchMove
- onTouchStart
Тип |
Свойства |
boolean |
altKey |
DOMTouchList |
changedTouches |
boolean |
ctrlKey |
boolean |
getModifierState(key) |
boolean |
metaKey |
boolean |
shiftKey |
DOMTouchList |
targetTouches |
DOMTouchList |
touches |
События UI
Тип |
Свойства |
number |
detail |
DOMAbstractView |
view |
События колёсика мыши
Тип |
Свойства |
number |
deltaMode |
number |
deltaX |
number |
deltaY |
number |
deltaZ |
События медиа-элементов
- onAbort
- onCanPlay
- onCanPlayThrough
- onDurationChange
- onEmptied
- onEncrypted
- onEnded
- onError
- onLoadedData
- onLoadedMetadata
- onLoadStart
- onPause
- onPlay
- onPlaying
- onProgress
- onRateChange
- onSeeked
- onSeeking
- onStalled
- onSuspend
- onTimeUpdate
- onVolumeChange
- onWaiting
События изображений
События анимаций
- onAnimationStart
- onAnimationEnd
- onAnimationIteration
Тип |
Свойства |
string |
animationName |
string |
pseudoElement |
float |
elapsedTime |
События переходов
Тип |
Свойства |
string |
propertyName |
string |
pseudoElement |
float |
elapsedTime |
Другие события
← Назад