【javascript クロスブラウザ】処理中はカーソルを砂時計にしたい
漠然とした言い方ですが、javascript実行中はカーソルを砂時計にしたいです。
すごく具体的な例を示すと、new Ajax.Request実行直前にカーソルを
砂時計に、onSuccessに指定したfancitonの最後でカーソルを
デフォルトに戻したいです。
基本的な動作を検証するhtmlを書いてみました。
<html>
<head>
<style>
<!--
div {
height: 100%;
width: 100%;
}
-->
</style>
<script type="text/javascript"><!--
function pleaseWait(){
document.body.style.cursor = 'wait';
setTimeout(function(){document.body.style.cursor = 'default';},2000);
}
//--></script>
<head/>
<body>
<div onmousedown="pleaseWait();">
</div>
</body>
</html>
windows環境で、IE6,FireFox3,Opera9,Safari(3.2.1),Google Chrome
で試してみました。ブラウザ毎の結果を以下に記します。
■IE,FireFox
クリック後、2秒間は砂時計のカーソルになり、
その後元に戻りました。(これが期待している動作です。)
■Opera
なんの反応もありませんでした。
■Safari,Google Chrome
クリック後、砂時計になり、マウスを動かさなければ砂時計のまま。
マウスを動かせば、元に戻る。
opera,Safariでも期待した結果を得るにはどうしたら良いでしょうか?
名案ありましたら教えてください。