Rambler's Top100
Главная
Новости
Статьи
Форумы
Книги
Коды
Сообщество
Блоги
О нас
 

Логин

Email:
  Пароль:

Войти
Зарегистрироваться
Забыл пароль

Поиск

 Искать :
 
Вперед

Книги по теме

Искать:
в:
Порядок:

Исходник

Автор:

voodoos

 
Название:

JavaScript. Динамические обработчки событий в IE и Mozilla

Дата: 06 December 2005
Описание: Если Вам понадобилось на страницах с помощью javascript добавлять/удалять обработчики событий объектов, сразу появляется проблема различности синтаксиса в разных броузерах. В IE обработчик добавляется с помощью метода attachEvent, в Mozilla это делается уже с методом addEventListener. Данный скрипт "учит" Mozilla, и вообще все броузеры на движке Gecko, понимать синтаксис IE. 
  Разместить ссылку на этот исходник в форуме вы можете вставив в текст сообщения следующую строку: [CODEPOST ID=174]JavaScript. Динамические обработчки событий в IE и Mozilla[/CODEPOST]
Оценка: Проголосовало 6 посетителей, средняя оценка 4.00
Оценить:
  1 // Author: Denis Ivchenko (voodoos) http://aspnetmania.com/Users/User/1010.html
  2 
  3 if (navigator.userAgent.toLowerCase().indexOf('gecko') != -1) {
  4     window.attachEvent = function(eventName, delegate) {
  5         this.addEventListener(eventName.substring(2), delegate, false);
  6     }
  7 
  8     window.detachEvent = function(eventName, delegate) {
  9         this.removeEventListener(eventName.substring(2), delegate, false);
 10     }
 11 
 12     window.document.attachEvent = function(eventName, delegate) {
 13         this.addEventListener(eventName.substring(2), delegate, false);
 14     }
 15     
 16     window.document.detachEvent = function(eventName, delegate) {
 17         this.removeEventListener(eventName.substring(2), delegate, false);
 18     }
 19 
 20     HTMLElement.prototype.attachEvent = function(eventName, delegate) {
 21         this.addEventListener(eventName.substring(2), delegate, false);
 22     }
 23 
 24     HTMLElement.prototype.detachEvent = function(eventName, delegate) {
 25         this.removeEventListener(eventName.substring(2), delegate, false);
 26     }
 27 
 28     HTMLElement.prototype.fireEvent = function(eventName, eventInstance) {
 29         var events = this.ownerDocument.createEvent("events");
 30         events.initEvent(eventName.substring(2), false, true);
 31         this.dispatchEvent(ev);
 32     }
 33     
 34     Event.prototype.__defineGetter__("srcElement", function () {
 35        var node = this.target;
 36        while (node.nodeType != 1) node = node.parentNode;
 37        return node;
 38     })
 39 }
Вернуться к списку исходников в категории Общие вопросы программирования на ASP.NET
 
Apartments for Rent

Rambler's Top100
Рейтинг@Mail.ru
Идея: Dimon aka Manowar Программирование: Dimon aka Manowar Дизайн: Dan Lebedev
Хостинг от компании Parking.ru
Карта сайта