간단한 방법으로 전체 html 페이지에서 커서를 '대기'로 설정할 수 있습니까? 아이디어는 ajax 호출이 완료되는 동안 어떤 일이 진행되고 있음을 사용자에게 보여주는 것입니다. 아래 코드는 내가 시도한 것의 단순화 된 버전을 보여주고 내가 직면 한 문제를 보여줍니다.
- 요소 (# id1)에 커서 스타일이 설정되어 있으면 본문에 설정된 하나를 무시합니다 (분명히)
- 일부 요소에는 기본 커서 스타일 (a)이 있으며 호버시 대기 커서가 표시되지 않습니다.
- 본문 요소는 내용에 따라 특정 높이를 가지며 페이지가 짧으면 바닥 글 아래에 커서가 표시되지 않습니다.
시험:
<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>
나중에 편집 ...
그것은 파이어 폭스와 IE에서 다음과 함께 작동했습니다.
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>
이 솔루션의 문제 (또는 기능)는 div가 겹치기 때문에 클릭을 방지한다는 것입니다 (Kibbee에게 감사드립니다)
나중에 편집 ...
Dorward의 더 간단한 솔루션 :
.wait, .wait * { cursor: wait !important; }
그리고
<a href="#" onclick="document.body.className = 'wait'; return false">Do something</a>
이 솔루션은 대기 커서 만 표시하지만 클릭은 허용합니다.