Добавление обработчика событий в JS

JavaScript ООП ДОМ

this.addEvent = function (event, handler, useCapture) {
var elm = this.get();
if (elm.addEventListener) {
elm.addEventListener(event, handler, useCapture);
return true;
} else if (elm.attachEvent) {
var r = elm.attachEvent('on' + event, handler);
return r;
} else {
elm['on' + event] = handler;
}
}

this.addEvent('keypress', function(event){
....
}

Собственно вопрос, если функцию прикрутить как <input onkeypress="return func(event);"/>
то все работает но когда она она добавленна через addEvent то не срабатывает коректно return и при возврате false символ все равно печатается
P.S. Сразу говорю вопрос о чистом JS без сторонних фреймворков

Примечание:
Imm написал правильно, у меня получается onkeypress="func(event)" через addEvent(), как то её надо дополнить что бы получалось onkeypress="return func(event)"

Примечание:
Спасибо большое, и ссылка в тему была, помогла
Ответы:
Так... Честно подумал. Скажу — нифига непонятно почему. =) (просто раз уж начал писать здесь)
Мне не хватает фундаментальных знаний по JS. Но настораживает следующий момент. Чтоб событие вообще не обрабатывалось когда надо, мы пишем onkeypress="return func(event)", но могли бы написать и onkeypress="func(event)", что работало бы не так как мы хотим. А в вашем addEvent вы делаете почти так же как и в onkeypress="func(event)". Короче я вообще загрузился на эту тему. Что откуда растет?! Пойду лучше спать. =)
Думаю, стоит воспользоваться:
e.preventDefault)?e.preventDefault():e.returnValue = false;


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.