2011-07-31 13 views
14

Flash 대신 html5 canvas 요소와 Javascript를 사용하여 게임을 만드는 중입니다. 내 질문은 : 마우스 커서/포인터를 캔버스 내에서 전달하는 숨기기 위해 사용할 수있는 코드가 있습니까? 도움을 많이 받으실 수 있습니다!HTML5 Canvas 내에서 마우스 커서 숨기기 Javascript

+0

관련 (부끄러운 플러그) : http://stackoverflow.com/questions/1071363/is-it-possible-to-hide-the- 커서가있는 웹 페이지를 사용하는 CSS 또는 자바 스크립트 –

+0

@ 루카스 존스 (Lucas Jones) 나는 같은 링크를 게시하려고했는데 분명히 조금 더 빨리 찾을 수있었습니다. – qw3n

+0

@ qw3n : 내 답변에 대한 의견에 방금 응답했을 때만 StackExchange ™ SuperCollider MultiDropdown ™의받은 편지함에 'twas'가 표시됩니다. –

답변

14

나는 이것을 위해 자바 스크립트가 필요하다고 생각하지 않는다. 단지 CSS 만 사용할 수있다. 다음 캔버스 사업부 아이디/클래스 지정하고 당신의 CSS 템플릿이 사용 : 커서 스타일을 조작하기 위해 자바 스크립트를 사용할 수

* {cursor: none;}

+0

아! 고마워요! 나는 그것을 밖으로 시도 할 것이다! – Chris

+1

이것은 [CSS3] (http://dev.w3.org/csswg/css3-ui/#cursor)의 일부이지만 [CSS2] (http://www.w3.org/TR/CSS21/)의 일부는 아닙니다. ui.html # propdef-cursor). – Shi

+0

Linux의 최신 Firefox에서는 작동하지 않습니다. 커서는 나머지 페이지에서는 보이지 않지만 캔버스 위에 표시됩니다. –

7

. 코드 :

<div id="canvas_div_no_cursor"> 
    <!-- canvas here --> 
</div> 
<script type="text/javascript"> 
    document.getElementById('canvas_div_no_cursor').style.cursor = "none"; 
</script> 
+0

나는 이것을 시도했지만 파이어 폭스에서만 작동하는 것 같다. 또한 CSS를 어떤 이유로 작동시키지 못했습니다. 파이어 폭스에서만 작동합니다. 크로스 브라우저 솔루션이 있는지 누가 알 수 있습니까? 도와 주셔서 감사합니다. – Chris

+0

@Chris : IE9와 Firefox 4.0에서 작동합니다. Opera 11과 Google Chrome은 커서를 숨기지 않습니다. (아마 어떤 보안 설정이이를 제한합니다). – VIK

+0

@Chris jQuery가'$ ('canvas_div_no_cursor') .css ('cursor', 'none')로 사용될 때 Google 크롬이 나를 숨기는 커서입니다. –

0

(최신 브라우저에) 가장 간단한 방법은 캔버스에 none에 커서를 설정하는 것입니다.

캔버스가 HTML로 작성된 경우

는 수행 커서 값이 오버 쟁이되지 않습니다 보장하기 원하기 때문에 나는 스타일 시트를 통해이 선호하는 것

<canvas id="canvas" style="cursor: none;"></canvas> 

. 캔버스는 자바 스크립트로 작성된 경우

, 수행

const canvas = document.createElement('canvas'); 
canvas.style.cursor = 'none'; 
document.body.appendChild(canvas);