Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/04/2014, 07:58
jmsalinas88
 
Fecha de Ingreso: marzo-2014
Mensajes: 8
Antigüedad: 10 años, 1 mes
Puntos: 0
Controlar doble cliks sobre elemento html

Hola como estan?, a ver si me pueden dar una mano con esto que lo vengo viendo hace tiempo y soy bastante novato en JS.

El siguiente html que expongo es a modo de ejemplo, porque el html que tengo está generado con un servlet de Java y no está para nada prolijo, entonces,

Tengo el siguiente form:

<form method="POST" action="">
<input type="button" value="Enviar" onclick="miFunc('999999')" id="elemento"> </input>
</form>

Quiero controlar dobleclicks sobre el elemento que hace la llamada a 'miFunc(param)' porque dentro de esa función hace una petición a un servlet que devuelve un archivo PDF y, cuando hace varias llamadas simultaneas, obtengo un excepción del lado del servidor.

Pensé en las siguientes implementaciones:

function remueveOnclick(e){

var mjs = $(e).attr('onclick');
$(e).removeAttr("onclick");
setTimeout( function(){ addOnclick(e,mjs) } , 2000);
}

function addOnclick(e, manejs){
$(e).attr('onclick', manejs);
}

Pero estas no me funcionan con IE, todo ok con Chrome y Firefox, pero con IE no me vuelve a setear el attr: $(e).attr('onclick', manejs);

Entonces pensé en esta otra:

$("#elemento").unbind("click");
$("#elemento").removeAttr("onclick");

setTimeout(function(){ $("#trPasaje").bind("click", miFunc ) }, 2000);

Esto tampoco me funciona, porque pierdo el valor del parametro (param) que le paso a 'miFunc'

Entonces pensé en hacerlo de esta manera:

$("#elemento").unbind("click");
$("#elemento").removeAttr("onclick");

setTimeout(function(){ $("#trPasaje").bind("click", miFunc(param) ) }, 2000);

Pero tampoco me funciona, porque entro en un loop.

El problema no lo termino de resolver porque la primera implementación que pensé no me funciona con IE, estas son las maneras menos rebuscadas que me vinieron a la cabeza, después estuve pensando e implementando otras pero eran muy tediosas y mucho trabajo por una cosa que no lo vale (lo que me dijo mi compañero de trabajo).

Espero que me puedan dar una mano para controlar los dobleclicks en Jquery y evitar las llamadas inecesarias al servlet, desde ya mil gracias!.