attachEvent versus addEventListener

Estou tendo problemas para fazer com que o attachEvent funcione. Em todos os navegadores que suportam o manipulador addEventListener, o código abaixo funciona como um encanto, mas no IE é um desastre completo. Eles têm sua própria variação (incompleta), chamada attachEvent.

Agora, aqui está o acordo. Como faço para que o attachEvent funcione da mesma maneira que o addEventListener?

Aqui está o código:

function aFunction(idname)
{
    document.writeln('<iframe id="'+idname+'"></iframe>');
    var Editor = document.getElementById(idname).contentWindow.document;

    /* Some other code */

    if (Editor.attachEvent)
    {
        document.writeln('<textarea id="'+this.idname+'" name="' + this.idname + '" style="display:none">'+this.html+'</textarea>');
        Editor.attachEvent("onkeyup", KeyBoardHandler);
    }
    else
    {
        document.writeln('<textarea id="hdn'+this.idname+'" name="' + this.idname + '" style="display:block">'+this.html+'</textarea>');
        Editor.addEventListener("keyup", KeyBoardHandler, true);
    }
}

Isso chama a função KeyBoardHandler que se parece com isso:

function KeyBoardHandler(Event, keyEventArgs) {
    if (Event.keyCode == 13) {
        Event.target.ownerDocument.execCommand("inserthtml",false,'<br />');
        Event.returnValue = false;
    }

    /* more code */
}

Não quero usar nenhuma estrutura porque A) estou tentando aprender e entender alguma coisa e B) qualquer estrutura é apenas uma sobrecarga de código que não vou usar.

Qualquer ajuda é muito apreciada!

questionAnswers(6)

yourAnswerToTheQuestion