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>



