Fazer isso com o javascript é muito simples e existem muitas maneiras.
Se você deseja apenas inserir um evento em um elemento html basta fazer o seguinte código:
elemento.onclick = function(){
//aqui você coloca o que a função vai fazer
};
Mas se você deseja adicionar mais de um evento por vez pode fazer usar o addEventListener.
elemento.addEventListener(evento, função, capturar);
Infelizmente ainda vivemos na era dos conflitos de navegadores.... O método addEventListener não é reconhecido por todos os navegadores. Para o IE, o método esperado seria attachEvent. Outra observação importante é, o IE não contém o parâmetro capturar, ele já é definido como true.
Então se quisermos adicionar mais de uma função em um evento de um elemento faremos assim:
if(window.addEventListener){
elemento.addEventListener("click", function() { //o que vc desejar }, false);
} else
if(window.attachEvent)
{
elemento.attachEvent("click", function() { //o que vc desejar });
}
Obs: troque o "click" , pelo evento que você quiser.
É importante lembrar que cada vez que o código acima for executado vai adicionar a função ao evento do elemento, ou seja se você adicionar três vezes, quando clicar no elemento ele vai executar a função 3 vezes seguidas. Diferente do primeiro exemplo.
E como fazer isso no mootools ?
Como o mootools é um framework cross-browser, ou seja, seus códigos (em tese) devem funcionar em qualquer navegador, existe apenas uma função para adicionar eventos, o AddEvent (ou AddEvents se você deseja adicionar vários de uma só vez).
Funciona da seguinte forma:
elemento.addEvent(tipo, função);
Já o addEvents, recebe um JSON como parâmetro para adicionar os eventos:
elemento.addEvents({
'mouseover': function(){
alert('mouseover');
},
'click': function(){
alert('click');
}
});
Para mais detalhes visite a página da documentação do mootools sobre eventos em elementos.
http://mootools.net/docs/core/Element/Element.Event
Caso deseje testar execute o código abaixo em um console javascript e clique na imagem depois.
if(window.addEventListener)
{
document.getElementById('rocker').addEventListener("click", function() { alert("ehhh."); }, false);
} else
if(window.attachEvent)
{
document.getElementById('rocker').attachEvent("click", function() { alert("ehhh."); });
}
0 comentários:
Postar um comentário