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:
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...
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: DOM, JavaScript, W3C
0 Comentários:
Postar um comentário
Assinar Postar comentários [Atom]
<< Página inicial