2012-02-21 8 views
6

estoy usando jQuery que pueden arrastrarse y cuando lo hagacómo evitar que jquery (o jquery ui) establezca ui-state-disabled en un div?

$(".a-div").draggable({disabled:true})

jQuery es el establecimiento de un ui-state-disabled a la div. ui-state-disabled se "implementa" en jquery ui css.

Todavía quiero jquery ui css. Preferiría no cambiar ui-state-disabled para poder usarlo en otro lugar.

¿Es posible evitar que jquery configure ui-state-disabled?

Dado que disabled:true parece estar configurando esa clase css, ¿hay alguna otra manera de desactivar un objeto que se puede arrastrar?

+0

hmm supongo que no, pero puede hacer algo feo y sucio si establece la opción de demora en un número muy alto;) – ggzone

+0

Parece que hay un informe de error y una solución para esto: http://bugs.jqueryui.com/ticket/6039 pero parece que aún no se ha lanzado. –

Respuesta

4

Estas clases se definen en el núcleo jQueryUI, si realmente quiere cambiar a otra cosa usted puede cortar el código (no se recomienda para fines de mantenimiento y funcionalidad) o hacer algo feo como este:

$('.ui-state-disabled').removeClass('ui-state-disabled').addClass('yourPreferredClassName'); 
+0

Incluso después de hacer esto, esta clase no va. – Foreever

6

También puede simplemente anular el CSS en su propio css local. Es decir, ya sea en línea o en un archivo que se importa en su página, añadir la regla CSS:

.ui-state-disabled { 
    background-image: none; 
    opacity: 1; 
} 

Cuando, en este caso, he overridded el valor de opacidad.

Esto puede meterlo en problemas si realmente desea utilizar esta clase en otro lugar, en cuyo caso, la adición/eliminación mediante programación de/a los elementos seleccionados (sugerida por Alphonso) es probablemente su mejor opción.

Cuestiones relacionadas