Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.03.2009, 17:14
anstm
 
Сообщений: n/a

Подключение событий в onload и определение их типа
У тега <body onload="..."> в onload вызывается такой код:
var obj = document.getElementById('myObjId');
addEvent(obj, 'keypress', function () { eventType(event); });

функции описаны в подключаемом файле:

function addEvent(obj, name, func) {
if (obj.addEventListener) {
obj.addEventListener(name, func, false);
} else if (obj.attachEvent) {
obj.attachEvent('on' + name, func);
} else {
throw 'Error';
}
}

function eventType(e) {
if (!e) {
var e = window.event;
}
alert(e.type);
}

Есть элемент <input id="myObjId" type="text" />

При вводе в инпут вызывается функция eventType(e) (как и должно быть), но тип эвента возвращается load (тоже понятно почему).

Вопрос - есть ли такое решение, чтобы возвращалось именно "нужное" событие, подключаемое в addEvent(obj, 'keypress', function () { return eventType(event); });? Т.е. в данном случае - onkeypress. Интуитивно понятно, что виной всему здесь параметр event в eventType(event).
Ответить с цитированием
  #2 (permalink)  
Старый 07.04.2009, 13:47
Tracker
 
Сообщений: n/a

DOM еще полностью не создан. Элемент не существует.
Ответить с цитированием
  #3 (permalink)  
Старый 07.04.2009, 14:20
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

addEvent(obj, 'keypress', function (event) { eventType(event); });

или

addEvent(obj, 'keypress', eventType);
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не просто определение типа браузера... Driver86 Общие вопросы Javascript 6 08.04.2008 20:35