detener etiqueta de alternar la casilla de entrada

Tengo el siguiente código html. Al hacer clic en la etiqueta, alterna la checkbox.

  

¿Cómo puedo prevenir esto? Si for="startClientFromWebEnabled" , deja de alternar pero lo necesito porque tengo una lógica que toma el id del elemento que desencadena el evento …

La mejor solución sería dejar que la etiqueta alternar la checkbox ya que es el comportamiento intuitivo y esperado.

La segunda mejor solución es asegurarse de que su checkbox no esté anidada dentro de la etiqueta y la etiqueta no tenga for atributo. Si tiene alguna lógica que depende de ella, puede poner atributos de datos en los elementos y usarlos en su lógica.

   

si está utilizando JQuery, agregue una id en su etiqueta y luego agregue esto en su secuencia de comandos:

 $("#lbl").click(function(){ return false; }); 

“Tengo una lógica que toma la identificación del elemento”

Puede eliminar el atributo for , si almacena la ID en otro lugar. Por ejemplo, en un atributo data-* :

  

Por otro lado, a veces es difícil señalar y hacer clic en una checkbox según el estilo y las capacidades del usuario. Hay buenas razones para usar el atributo for .

También hay una solución de CSS:

 label { pointer-events: none; cursor: default; }