type eventos active javascript jquery html checkbox clickable

javascript - eventos - input type checkbox jquery



¿Cómo puedo hacer que una casilla de verificación no se pueda cliquear*sin*estar atenuada en el navegador? (5)

¿Por qué quiere hacer que se haga clic en una casilla de verificación que no se puede hacer clic? Para engañar a los usuarios?

Si realmente quieres engañar a los usuarios, puedes colocar un div con una opacidad de 0.01 encima de él usando un posicionamiento absoluto (no se requiere script). Pero todavía me pregunto por qué sientes la necesidad de hacer esta broma a tus usuarios ...;)

EDITAR: Si lo que realmente necesita es incluir un valor que el usuario no debería cambiar pero no quiere lo que probablemente esté considerando como "una casilla desagradablemente deshabilitada", debe usar input type hidden , que es completamente invisible.

Si desea indicar que algo está preseleccionado pero no modificable o algo así, use una casilla de verificación deshabilitada para indicar esto (o una imagen de una bonita casilla si lo desea), pero tenga en cuenta que el valor de una casilla deshabilitada no se envía. Use un campo oculto para incluir los datos necesarios.

¿Cómo se crea una casilla de verificación HTML que no se puede hacer clic, pero que no está atenuada? Utilicé la etiqueta disabled = disabled, pero eso aparece atenuado (en Chrome). De lo contrario, funciona bien. Trabajando en jQuery y Rails ...

Gracias.


Preocupaciones de usabilidad a un lado:

$("input:checkbox").click(function() { return false; });

Por ejemplo: http://jsfiddle.net/nKwRj/


Me encontré con esta publicación en busca de una respuesta a la pregunta inicial, y encontré que los oponentes a casillas de verificación no atenuadas resultaron convincentes, así que en su lugar hice una etiqueta td que contenía esto: <% si rs ("sí / no valor") = -1 luego response.write ("√")%> (wing es a & radic). Luego recibo un ala de información limpia que no invita a hacer clic.


Evite que las casillas de verificación se cambien por ID o por Clase.

/* by class */ $(".nochange").click(function () { return false; }); /* by ID */ $("#nochange").click(function () { return false; }); <input name=''test'' type=''checkbox'' class=''nochange'' checked=''checked'' /> <br /> <input name=''test'' type=''checkbox'' id=''nochange'' checked=''checked'' />

http://jsfiddle.net/mjames757/nX64E/1/


Use jQuery.on con false como devolución de llamada:

$(":checkbox").on("click", false);

Violín