Nome:
Local: Rio de Janeiro, RJ, Brazil

Que perguntinha hein?! Mas vamos lá, adoro estudar assuntos relacionados à web, sempre que posso aprendo uma tecnologia, técnica ou linguagem nova. Tento sempre ver quais são as tendências e acompanha-las, enfim eu sou um eterno aprendiz. Deixando o lado profissional, entrando no lado pessoal, sou uma pessoa super gente-boa (pelo menos eu me acho. rs), adoro curtir a night, sair com os amigos, fazer novas amizades e viajar (tem coisa melhor do que isso?) Acho que você já está sabendo demais sobre mim. Fuiii...

segunda-feira, 21 de maio de 2007

addEventListener ou será AttachEvent

addEventListener, documentado pela W3C, é uma forma de atribuir evento a um determinado objeto.

Sintaxe:

objeto.addEventListener(evento, funcao, captura)

A função é executada, quando o evento do objeto é acionado. E o último parâmetro indica se os eventos ocorridos dentro da função deverão iniciar a chamada para outros eventos. Exemplificando:

window.addEventListener("load", function() { alert("Olá Mundo."); }, true);

Esse é um exemplo simples de uso, quando a página estiver sendo carregada exibimos um alert na tela, com a mensagem, típica, "Olá Mundo.". No entanto, o excelentíssímo IEca, não irá rodar isso. Apesar, da W3C ser responsável pela padronização da web, o IEca não reconhece essa função, para isso a microsoft inventou o AttachEvent, que funciona de forma similar. Abaixo vai o código para os dois tipos de browsers:

function OlaMundo(){
alert("Olá Mundo!");
}

function addEvent(obj, evType, fn){
if (obj.addEventListener) // Usuário Inteligente
obj.addEventListener(evType, fn, true)
if (obj.attachEvent) // Usuário do IEca
obj.attachEvent("on" + evType, fn)
}

addEvent(window, "load", OlaMundo());


Até aqui, sem problemas, tirando uma questão simples, porque fazer isso se eu posso perfeitamente atribuir evento no HTML? Como no exemplo:

<input name="meubotao" onclick="Minhafuncao();" type="button" />

O motivo é o acoplamento (acoplamento não é legal). Em Web Standards a premissa é separar aparência(CSS), de estrutura(HTML) e de comportamento(Javascript), dessa forma você consegue separar estrutura de comportamento.

Fuiii...

Marcadores: , ,

0 Comentários:

Postar um comentário

Assinar Postar comentários [Atom]

<< Página inicial