Esse post não será mais atualizado nesse blog. Para visualizar esse post em seu novo endereço, acesse:
http://milaneze.com.br/post/2010/02/19/JavaScript-attachEvent-e-o-seu-problema-com-this-no-IE.aspx
Nesse post estou anexando um exemplo de dica no link, o qual usa o
attachEvent e um
this dentro da função chamada por ele. É mais um exemplo do livro Simply JavaScript. Para baixar,
clique aqui.
O attachEvent, usado pelo Internet Explorer é diferente do addEventListener, usado pelos navegadores que seguem os padrões W3C no tratamento de eventos. O livro Simply JavaScript não explica muito bem como ele faz para tratar esse assunto, ele simplesmente mostra um script e diz que é complicado para explicar. Aqui também não vou explicar, mas sim mostrar o caminho que eu fiz para entender esse assunto.
1. Para entender como funciona o this tanto no attachEvento quanto no addEventListener, eu li o conteúdo desse link:
http://www.quirksmode.org/js/this.html2. Esse outro link reforça o entendimento do this no JavaScript:
http://trephine.org/t/index.php?title=Understanding_JavaScript's_this_keyword3. Após entender o que está escrito nos links acima, pra finalizar é preciso entender o método
call, assim será possível entender o código do livro. Essa página explica bem isso:
http://trephine.org/t/index.php?title=JavaScript_call_and_applyÉ isso aí, esse foram os passos que usei pra entender essa questão. De começo não parecia simples e foi difícil encontrar esses links, mas agora parece algo bem comum e fácil de usar.