|
|
|
 |
 |
Исходник |
 |
|
 |
 |
|
Автор:
|
|
|
Название:
|
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 |
|
|
 |
 |
 |
 |
|
|