Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Como já vi muito por aew e achei interessante, estou “tentando” retirar todo o JavaScript do meu HTML colocando-o em um arquivo externo. Então bolei essa função pra colocar os eventos em todo o site:
function _clickGeral(nomeId, evento, funcaoChamada) {
var obj = document.getElementById(nomeId);
if (window.addEventListener) {
eval('obj.addEventListener('+"evento"+', function () { _'+funcaoChamada+'; }, true)');
}
else if (window.attachEvent) {
obj.attachEvent('on'+evento, function (){'_'+funcaoChamada});
}
}
Obviamente que no Firefox, Chrome e Opera funciona que é uma belezinha, mas como de praxe o IE insiste em ficar fazendo charme e se fazendo de difícil.
Tentei escrever a parte do attachEvent de diversas formas, na medida que fui pesquisando, mas o IE sempre acusava erro, dessa forma que postei não dá erro nenhum, mas nem por isso funciona. Gostaria de um auxilio pra encontrar a maneira correta de escrever essa parte da função.
Vlw pessoal
T+
Ramael
bacana @Ramael, parabéns.
Nem tive tempo de passar por este topico.
Poste como resolveu, pode ajudar mais pessoas.
Afinal é esta a ideia do forum.
Fiquei na empolgação e esqueci de postar a solução, que já estava praticamente resolvido mesmo. A linha do else if ficou dessa forma:
else if (window.attachEvent) {
eval('obj.attachEvent('+"'on'+evento"+', function () {_'+funcaoChamada+'} )');
}
}
Tive que utilizar o "eval", pois o IE não entendia o "onclick" somente com a soma do "on+click" e também acrescentei as aspas no evento. Foi "só isso"....
rsssssss foi um "só isso" que me deu dor de cabeça por uns dias.
t+
Ramael
hum.. cara, olhando agora mais detalhadamente, pesquise sobre funções callback javascript, é um conceito bem interessante.
e acredito que se aplica a esse teu caso.
Realmente muito interessante !!!
Eu já adotava uma prática que nem sabia que tinha nome.
Tenho algumas funções que sempre uso em meus projeto, geralmente pra mudar algumas propriedades de objetos do HTML e coisas simples assim. Já as preparei dessa mesma forma que essa de adicionar os eventos...
uma função "callback" para adicionar "handlers".
Rsssss
tô parendendo.....
t+
Ramael
Depois de muito "sangue, suor e lágrimas", consegui resolver.
Rssssss
t+
Ramael