Cita:
pero si lo prueban en ie8en el primer click ---> 0
en el segundo ---> 1
en el tercer ----> 2
en el cuarto ---> 3
........
en el segundo ---> 1
en el tercer ----> 2
en el cuarto ---> 3
........
Cita:
aclaro que la función encargada de procesar el evento, ha de estar asociada a la variableen el primer click ---> 0
en el segundo ----> 1
en el tercer ----> 2 y después 3
en el cuarto ----> 4, 5, 6 y 7
...........
en el segundo ----> 1
en el tercer ----> 2 y después 3
en el cuarto ----> 4, 5, 6 y 7
...........
Código:
gracias <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script type="text/javascript"> var lib = { Evento : function(elemento, nomevento, fnc) { if (elemento.addEventListener) { elemento.addEventListener(nomevento, fnc, false); } else if (elemento.attachEvent) { elemento.attachEvent('on' + nomevento, function() { fnc.call(elemento, window.event);}); } }, EventoEliminar : function(elemento, nomevento, fnc) { if (elemento.removeEventListener) { elemento.removeEventListener(nomevento, fnc, false); } else if (elemento.detachEvent) { elemento.detachEvent('on' + nomevento, function() { fnc.call(elemento, window.event);}); } }, obtenerEvento : function(event) { return (event) ? event : window.event; } }; var i = 0, n; function f() { lib.Evento(document.querySelector('.liga'), 'click', n = function(event) {foo(event, i)}); } function foo(e, ii) { var evt = lib.obtenerEvento(e); if (evt.preventDefault) { evt.preventDefault(); evt.stopPropagation(); } else { evt.returnValue = false; evt.cancelBubble = true; } i++; if (ii >= 1) { lib.EventoEliminar(document.querySelector('.liga'), 'click', n); lib.Evento(document.querySelector('.liga'), 'click', n = function(event) {foo(event, i)}); } alert(ii); } window.onload = function() {f()}; </script> </head> <body> <a class="liga" href="#">click aquí</a> </body> </html>