¿Es posible configurar el cursor para 'esperar' en toda la página html de una manera simple? La idea es mostrar al usuario que algo está sucediendo mientras se completa una llamada ajax. El código siguiente muestra una versión simplificada de lo que he intentado y también demuestran los problemas que me encuentro:Esperar el cursor sobre toda la página html
- si un elemento (# ID1) ha establecido un estilo del cursor se ignorará la establecida en el cuerpo (obviamente)
- algunos elementos tienen un estilo de cursor predeterminado (a) y no mostrarán el cursor de espera al pasar el mouse
- el elemento del cuerpo tiene una cierta altura dependiendo del contenido y si la página es corta, el cursor no se mostrará debajo del pie de página
La prueba:
<html>
<head>
<style type="text/css">
#id1 {
background-color: #06f;
cursor: pointer;
}
#id2 {
background-color: #f60;
}
</style>
</head>
<body>
<div id="id1">cursor: pointer</div>
<div id="id2">no cursor</div>
<a href="#" onclick="document.body.style.cursor = 'wait'; return false">Do something</a>
</body>
</html>
Más tarde editar ...
trabajó en Firefox e IE con:
div#mask { display: none; cursor: wait; z-index: 9999;
position: absolute; top: 0; left: 0; height: 100%;
width: 100%; background-color: #fff; opacity: 0; filter: alpha(opacity = 0);}
<a href="#" onclick="document.getElementById('mask').style.display = 'block'; return false">
Do something</a>
El problema (o característica de) esta solución es que se evitará clics debido a la superposición div (gracias Kibbee)
tarde después de edición ...
Una solución más simple de Dorward:
.wait, .wait * { cursor: wait !important; }
y luego
<a href="#" onclick="document.body.className = 'wait'; return false">Do something</a>
Esta solución sólo se muestra el cursor de espera, pero permite clics.
Parece que no puedo cambiar el cursor de los elementos seleccionados. ¿Hay alguna manera de cambiar el cursor del elemento seleccionado también? – Biswanath