stop label from toggling the input checkbox

if you are using JQuery, add an id on your label then add this in your script:

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

The best solution would be to let label toggle the checkbox as that is intuitive and expected behaviour.

Second best solution is to make sure your checkbox is not nested inside label and label does not have for attribute. If you have some logic that depends on it, you can put data attributes on elements and use those in your logic.

<input type="checkbox" data-myid="1" />
<label data-myid="1">foo</label>

Last resort

You could prevent the default behaviour of the click event using jQuery:

$('label[for="startClientFromWebEnabled"]').click(function(e) { 
    e.preventDefault();
});​

Please see this jsFiddle for an example.


There is CSS solution too:

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