Dirceu Jr.
-
11:02:31 am on April 7, 2008 | # |
Mais uma para quem curte usar jQuery nos projetos.
Ao se fazer um “moca/desmoca” comum em FAQs (onde a resposta só é mostrada se o usuário clicar no botão “mostra ai”) o IE6 me deu uma dor de cabeça, mas que consegui resolver rápidinho.
Primeiro achei que era a chamada pelo objeto no DOM atravéz da função $(), mas após algumas mudanças o IE continuou dando azia… então arrisquei a acertei, no seguinte:Eu faço algo assim - veja o código - ou seja, em uma ação de click do usuário eu defino outra. O IE é bugadasso, então por que não ele estaria levando em conta que o usuário ainda está clicando e não já clicou? É claro que ele fazia isso… entrava num loop infinito achando que a ação de clicar não ia terminar nunca, que burro né? Dá zero pra ele!
A solução foi adicionar um pequeno timeout antes de definir a nova ação de click, assim eu fujo do “momento exato do clique” e posso evitar o loop inacabavél que o script entrava. Veja o código da solução aqui e compare com o primeiro código.