Клиентский JavaScript 1.3 Руководство

Захват событий


Обычно событие обрабатывается объектом, в котором это событие возникает. Например, если пользователь щёлкает по кнопке, вызывается обработчик этого события. Иногда Вам может понадобиться, чтобы объект window или document обрабатывал определённые события. Например, Вам может понадобиться, чтобы объект document обрабатывал все события MouseDown вне зависимости от того, в каком месте документа они возникают.

Модель захвата событий JavaScript даёт возможность определять методы, которые захватывают и обрабатывают события, до того как они достигнут своей предполагаемой цели. Для этого объекты window, document и layer используют следующие методы:

  • captureEvents - захватывает события специфицированного типа.
  • releaseEvents - игнорирует захват событий специфицированного типа.

  • routeEvent - перенаправляет захваченное событие специфицированному объекту.

  • handleEvent - обрабатывает захваченное событие (это не метод объекта layer).

JavaScript1.1 и предыдущие версии. Захват событий невозможен.

Как пример, предположим, Вы хотите захватить все события Click, возникающие в окне. В сжатом виде, шаги по захвату событий таковы:

  1. Включить захват событий

  2. Определить обработчик события

  3. Зарегистрировать обработчик события

В последующих разделах эти шаги поясняются.



Содержание раздела