From 32ce5de47456ff5d8cb1b2d9163356ce27ffe955 Mon Sep 17 00:00:00 2001 From: MDN Date: Sun, 16 Jan 2022 00:57:29 +0000 Subject: [CRON] sync translated content --- .../conflicting/web/api/pointer_events/index.html | 64 ++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 files/ru/conflicting/web/api/pointer_events/index.html (limited to 'files/ru/conflicting') diff --git a/files/ru/conflicting/web/api/pointer_events/index.html b/files/ru/conflicting/web/api/pointer_events/index.html new file mode 100644 index 0000000000..6752043059 --- /dev/null +++ b/files/ru/conflicting/web/api/pointer_events/index.html @@ -0,0 +1,64 @@ +--- +title: Поддержка TouchEvent и MouseEvent +slug: conflicting/Web/API/Pointer_events +translation_of: Web/API/Touch_events/Supporting_both_TouchEvent_and_MouseEvent +original_slug: Web/API/Touch_events/Supporting_both_TouchEvent_and_MouseEvent +--- +

{{DefaultAPISidebar("Touch Events")}}

+ +

Интерфейс {{domxref("Touch_events","touch")}} позволяет существенно повысить удобство работы с приложением через устройства с сенсорным экраном. Несмотря на это, большинство современного содержимого веба рассчитано только на работу с помощью мыши. Следовательно, даже если браузер поддерживает управление через сенсорную поверхность, он всё равно должен имитировать действия мыши, чтобы функциональность, рассчитанная только на действия мыши, продолжала корректно работать.

+ +

В идеале, приложения, рассчитанные на управление касаниями, не нуждается в явной имитации действий мыши. Но так как браузер вынужден это делать, могут возникнуть некоторые проблемы взаимодействия, которые должны быть обработаны. Ниже приведены некоторые подробности таких проблем взаимодействия и последствия для разработчиков приложения.

+ +

Вызов события

+ +

Спецификация событий касания определяет несколько требований к браузеру, касающихся действий мышью или касаний сенсорной поверхности (подробнее смотрите в разделе спецификации "Работа с событиями мыши и клика"), отмечая, что браузер может вызывать как события касаний, так и события мыши в ответ на одно и то же действие пользователя.

+ +

Если в ответ на какое-то действие пользователя браузер вызывает и событие касания и событие мыши, то перед любыми событиями мыши браузер должен вызывать {{event("touchstart")}}. Следовательно, если нужно, чтобы при прикосновении к {{domxref("Touch.target","целевому")}} элементу события мыши не запускались, в обработчике события касания данного элемента нужно вызвать {{domxref("Event.preventDefault()","preventDefault()")}}. После этого никакие дополнительные события мыши не вызовутся.

+ +

Ниже представлен пример обработчика события {{event("touchmove")}}, вызывающий preventDefault()

+ +
// touchmove handler
+function process_touchmove(ev) {
+  // Call preventDefault() to prevent any further handling
+  ev.preventDefault();
+}
+
+ +

Последовательность событий

+ +

Хотя фактическая последовательность событий касания и мыши зависит от используемого программного обеспечения, спецификация предписывает придерживаться следующей последовательности:

+ + + +

Если в течение взаимодействия событие {{event("touchstart")}}, {{event("touchmove")}} или {{event("touchend")}} прерывается, события мыши или клика вызываться не будут, а итоговая последовательность событий будет просто:

+ + + +

Сообщество

+ + + +

Связанные темы и ресурсы

+ + -- cgit v1.2.3-54-g00ecf