Клиентский JavaScript 1.3

         

Определение Обработчика События


Далее определяется функция, обрабатывающая событие. Аргумент e это event-объект события.

function clickHandler(e) {
//Здесь идёт обработка события.
   //Процесс описан ниже.
}

У Вас имеются следующие опции для обработки события:

  • Возвращать true. В гиперссылке выполняется переход, и никакой обработчик не отмечается. Если событие не может быть отменено, это прекращает обработку данного события.   function clickHandler(e) {
          return true;
       }

    Это даёт возможность полностью обработать событие документом или окном. Событие не обрабатывается каким-либо иным объектом, таким как button в document или дочерний фрэйм в window.
  • Возвращать false. В гиперссылке - переход по ссылке не выполняется. Если событие не может быть отменено, это прекращает обработку данного события.   function clickHandler(e) {
          return false;
       } Это позволяет подавить обработку событий данного типа. Событие не обрабатывается каким-либо другим объектом, таким как кнопка в документе или дочерний фрэйм в окне. Вы может использовать это, например, для подавления событий от правой кнопки мыши в Вашем приложении.
  • Вызывать routeEvent. JavaScript ищет другие обработчики для данного события. Если другой объект пытается захватить событие (такой объект как document), JavaScript вызывает его обработчик события. Если другой объект не пытается захватить событие, JavaScript ищет изначальный целевой обработчик объекта (такого как объект button). Функция routeEvent возвращает значение, возвращаемое обработчиком события. Захватывающий объект может определить способ продолжения работы на основе возвращённого результата.
    Если routeEvent вызывает обработчик события, этот обработчик активируется. Если routeEvent вызывает обработчик, функцией которого является отображение новой страницы, эта акция выполняется без возвращения к вызывающему объекту.   function clickHandler(e) {
          var retval = routeEvent(e);
          if (retval == false) return false;
          else return true;
       }
  • Вызвать метод handleEvent получателя события. Любой объект, который может регистрировать обработчики событий, является получателем события/event receiver. Это метод явным образом вызывает обработчик получателя события в обход иерархии захвата. Например, если Вы хотите, чтобы все события Click направлялись первой гиперссылке страницы, Вы можете записать:   function clickHandler(e) {
          window.document.links[0].handleEvent(e);
       } Пока ссылка имеет обработчик onClick, эта ссылка будет обрабатывать любые click-события, которые она получает.



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