Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala galera! Tenho a função abaixo que serve pra adicionar um evento a um determinado elemento:
var Evento = { add: function(obj, evType, fn) { if (obj.addEventListener) { obj.addEventListener(evType, fn, false); return true; } else if (obj.attachEvent) { var r = obj.attachEvent("on" + evType, fn); return r; } else { return false; } }}
Você passa como parâmetros: um objeto (o elemento afetado), tipo de evento (click, mouseover, etc) e o que acontece (funções a chamar, etc).
Eu tenho um <a> com um link qualquer. Eu adiciono um evento click a esse elemento pra ser chamada uma outra função, eu faço assim:
Evento.add(document.getElementById('idDoLink'),'click',function () { chamarfuncao() } );
Funciona! Porém, ao mesmo tempo que a função é chamada, o link também é executado, e acaba indo pra página do link. Se eu adicionasse ao onclick normalmente um 'return false' fucionaria, mas pelo addEventListener não funciona, pq se eu passar como referência uma função e dar 'return false', vai ser entendido como 'return false' pra função e não pro link, por exemplo:
Evento.add(document.getElementById('idDoLink'),'click',function () { chamarfuncao(); return false; } );
Continua indo pra outra página. Alguém tem alguma outra solução?
Carregando comentários...