Problemas com eventos (handlers - attachEvent, addEventListener)
E ae pessoal do Imasters!
Seguinte, estou com um problema meio chato, que vira e mexe me atrapalha mas nem sempre consigo resolver, queria uma solução final..
Imaginem que tenho a seguinte função besta para adicionar handlers de eventos..
function adicionaEvento(obj, funcao, evento){ if (window.addEventListener) obj.addEventListener(evento, funcao, true); else if (window.attachEvent) obj.attachEvent("on"+evento, funcao); }
Beleza... até ai tranquilo
Mas por exemplo, e se eu estou num loop e quero que em cada objeto, seja passado por exemplo um valor diferente pra função, eu faço de duas maneiras:
adicionaEvento(document.getElementById("objeto"), function() { funcaoA('renan'); }, "click");adicionaEvento(document.getElementById("objeto"), new Function("funcaoA('renan');"), "click");
Procuro usar sempre a primeira, acho meio porco usar new Function
Mas dai vem o problema.. se quero nos browsers decents pegar as variáveis de evento, eu não consigo..
por exemplo, se eu passo
function() { funcaoA('renan', event);ou
new Function("funcaoA('renan', event);")
ele não entende na função os parâmetros do evento, isso é meio óbvio pq estou criando funções novas para cada um dos eventos que eu adiciono.
Alguém sabe como posso solucionar isso?? Alguma dica final de como trabalhar com isso?
Agradecido..
Renan
Discussão (6)
Carregando comentários...