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!