2011-03-09 387 views
6

Tengo un formulario en el que tengo algunos cuadros de texto y debajo hay una tabla. Cuando hago doble clic en la fila de la tabla, me lleva a otra página.Deshabilitar el doble clic del mouse con javascript o jquery

Ahora el problema es si doy doble clic en los cuadros de texto y también va a otra página, así que necesito deshabilitar los clics del mouse en estos cuadros de texto y también uso tr para el encabezado y otro tr para data.when hago clic tr encabezado tampoco debería funcionar.

Nota:

tengo muchos cuadros de texto para cada uno haciendo doble clic con el ratón incapacitante no es bueno solut.If i Haga clic en fila con los datos que por sí solas doble clic debe trabajar.

+4

que debe ser vinculante a algo más que la tabla a continuación, , o tus cuadros de texto son hijos de la tabla. El código ayudaría. – JeremyWeir

Respuesta

6

agregar class='myClickDisabledElm' a todos los elementos DOM cuyos clics desea detener.

<input type="text" class="myClickDisabledElm" /> 

ahora Javascript

jQuery('.myClickDisabledElm').bind('click',function(e){ 
    e.preventDefault(); 
}) 

Editar

Dado que usted está más preocupado ABT doble hace clic puede utilizar dblclick en lugar de click

+0

actualizó la respuesta !! –

+0

por lo que entiendo su problema, puede reemplazar el clic con "dblclick". O proporciona más información. –

+1

preventDefault no funciona para mí – Lorenzo

23

debería ser así

 
$('.myTextBox').dblclick(function(e){ 
    e.preventDefault(); 
}) 
0

consiguió el siguiente código de here

código jQuery para desactivar evento de doble clic en la página web.

$(document).ready(function(){ 
     $("*").dblclick(function(e){ 
     e.preventDefault(); 
     }); 
    }); 

Sobre el código de jQuery se deshabilitará el evento de doble clic para todos los controles en la página web. Si desea desactivar el control específico, digamos un botón con ID "btnSubmit", entonces,

$(document).ready(function(){ 
     $('#btnSubmit').dblclick(function(e){ 
     e.preventDefault(); 
     }); 
    }); 
0

Como se ha dicho here, utilice un detector de eventos fase de captura:

document.addEventListener( 'dblclick', function(event) {   
 
    alert("Double-click disabled!");   
 
    event.preventDefault();   
 
    event.stopPropagation();  
 
    },  true //capturing phase!! 
 
);

Cuestiones relacionadas