2010-11-23 9 views
8

¿Cuál es la forma correcta de hacer reembolsos con .css()? Esto se usaría con mayor frecuencia para los retrocesos de fuentes, pero lo estoy usando para imágenes de cursor.jQuery .css() retroactivos?

Aquí es lo que tengo que no está funcionando:

$("#dragable").css('cursor','url(images/grabbing.gif), -moz-grabbing, auto'); 

** ACTUALIZACIÓN: ¿Puede alguien decirme la CSS válido para empezar?

Lo que tengo:

cursor: url(images/grabbing.gif), -moz-grabbing, auto; 

... no funciona **

+0

Para retrocesos de fuente que debe utilizar la sintaxis CSS estándar, por ejemplo 'jQueryObj.css ({fontFamily: ' "Fuente Primaria", "Retorno de fuente", serif'});'. Otras propiedades serán otra cuestión y dejaré eso hasta las respuestas que espero sean próximas. – eyelidlessness

Respuesta

4

El uso de estilos en línea dinámicos no siempre es una buena idea. Considera clases dinámicas. Definir en algún lugar de la clase específica CSS para el elemento arrastrable:

.cur-draggable { cursor: url(images/grabbing.gif), -moz-grabbing, auto; } 

Y tratar de añadir esta clase, en lugar de estilo en sí;

$("#dragable").addClass('cur-draggable'); 
+0

... esto hace la vida más fácil. Buena idea. – Dave

1

No sé por qué que rompe, pero los valores no se están escribiendo en el DOM..

Sin embargo, el css() es realmente sólo un acceso directo a la edición del "estilo" atribuir en línea en el elemento, por lo que podía hacer esto para conseguir el mismo resultado:

$("#dragable").attr('style','cursor: url(images/grabbing.gif), -moz-grabbing, auto'); 
+0

Tenga en cuenta que esto sobrescribirá otras propiedades de estilo. – eyelidlessness

+0

Es cierto, pero podría omitirlo fácilmente al recuperar primero el contenido del atributo de estilo y luego agregar la cadena. Algo como $ ("# dragable"). Attr ('style', $ (this) .attr ('style') + 'cursor: url (images/grabbing.gif), -moz-grabbing, auto'); - No estoy seguro de que la sintaxis exacta funcione, pero el principio está ahí. – RussellUresti