Apakah mungkin menyetel kursor untuk 'menunggu' di seluruh halaman html dengan cara yang sederhana? Idenya adalah untuk menunjukkan kepada pengguna bahwa ada sesuatu yang terjadi saat panggilan ajax diselesaikan. Kode di bawah ini menunjukkan versi sederhana dari apa yang saya coba dan juga menunjukkan masalah yang saya hadapi:
- jika sebuah elemen (# id1) memiliki set gaya kursor, ia akan mengabaikan set pada body (jelas)
- beberapa elemen memiliki gaya kursor default (a) dan tidak akan menampilkan kursor tunggu saat mengarahkan kursor
- elemen tubuh memiliki ketinggian tertentu tergantung pada konten dan jika halaman pendek, kursor tidak akan ditampilkan di bawah footer
Ujian:
<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>
Kemudian edit ...
Ini bekerja di firefox dan IE dengan:
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>
Masalah dengan (atau fitur) solusi ini adalah ia akan mencegah klik karena div yang tumpang tindih (terima kasih Kibbee)
Nanti kemudian edit ...
Solusi yang lebih sederhana dari Dorward:
.wait, .wait * { cursor: wait !important; }
lalu
<a href="#" onclick="document.body.className = 'wait'; return false">Do something</a>
Solusi ini hanya menampilkan kursor tunggu tetapi memungkinkan klik.