Есть редактируемый iframe. Я хочу полностью перехватывать в нем события клавиатуры. То есть не позволять выполнять события по умолчанию. Делаю для Firefox:

Выделить код

Код:

editor.document.addEventListener("keypress", 
    function(event)
    {
        handler(event);
    },
    true);

То же самое для "keydown" и "keyup". Обработчики событий вызываются, но до этого вызывается обработчик по умолчанию и до выполнения handler(event) если нажать символьную клавишу в iframe печатается символ. В IE все работает правильно с attachEvent(). Пробовал вместо editor.document.addEventListener window.document.addEventListener. То же. Как переопределить дефолтный обработчик?

Оказывается если помимо keypress добавляются события keydown или keyup, то iframe печатает символ до обработки первого переопределенного события.