Реклама

Партнеры

Центрирование контента по горизонтали и вертикали Обход child nodes (потомков) определнного элемента в Javascript
Nov 16

Добавление обработчика события с помощью JavaScript

Есть несколько методов, но я приведу код которым пользуюсь сам. С некоей притензией на универсальность :) не судите строго :). Итак:

JAVA:
  1. function addHandler(object, event, handler)
  2. {
  3. if (typeof object.addEventListener != 'undefined')
  4. object.addEventListener(event, handler, false);
  5. else if (typeof object.attachEvent != 'undefined')
  6. object.attachEvent('on' + event, handler);
  7. else
  8. throw "Incompatible browser";
  9. }

Все в принципе понятно:

  • object - это наш элемент;
  • event - желаемое событие, к которому мы и написали обработчик
  • handler - собственно функция - обработчик

Работает в IE, FF, Opera, Safari, где не работает честно говоря не нашел :)

Пример вызова:

JAVA:
  1. var but = document.getElementById('but');
  2. addHandler(but, 'mousedown', change_but_status);

Здесь, естесственно, change_but_status - функция обработчик должна быть где-то описана.

О, да, чуть не забыл, функция удаления обработчика события у элемента (параметры аналогичны):

JAVA:
  1. function removeHandler(object, event, handler)
  2. {
  3. if (typeof object.removeEventListener != 'undefined')
  4. object.removeEventListener(event, handler, false);
  5. else if (typeof object.detachEvent != 'undefined')
  6. object.detachEvent('on' + event, handler);
  7. else
  8. throw "Incompatible browser";
  9. }

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Есть одно мнение на “Добавление обработчика события с помощью JavaScript”

  1. Автор:Елена

    подскажите как сделать чтобы функция change_but_status была с параметрами.. то естьчтобы можнро было передать параметры в функцию change_but_status(id)
    Спасибо

Оставить ответ