Показать сообщение отдельно
  #1 (permalink)  
Старый 24.03.2009, 18: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).
Ответить с цитированием