Page 1 of 1

마우스키 및 키값 막기 입니다. 잘 안되네요.

Posted: 2005 11 28 18:00 55
by bumworld
document.onkeydown=cntrcheck;
document.onmousedown=Right;
var tabKeyon = "N";
if (document.layers) {
window.captureEvents(Event.MOUSEDOWN);
window.onmousedown=Right;
}

function Right(e) {
if (navigator.appName == 'Netscape' && (e.which == 3 || e.which == 2)) {
alert("오른쪽 마우스는 사용하실수 없습니다.");
return false;
} else if (navigator.appName == 'Microsoft Internet Explorer' && (event.button == 2 || event.button == 3)) {
alert("오른쪽 마우스는 사용하실수 없습니다.");
return false;
}
return true;
}

function cntrcheck() {
var keyValue = event.keyCode;
/*ctrl 키 제어*/
if (keyValue == '17') {
alert("ctrl 키는 쓰실수 없습니다.");
}
/* tabKey 제어*/
if (keyValue == '9') {
tabKeyon = "Y";
}
}

----------------------------------------------------
이런 코드 입니다.
물론 ie에서는 잘 되구요.
그런데 파폭에서는 안되네요..
무슨 문제인지 도움 부탁드립니다.

Posted: 2005 11 28 18:13 37
by eouia
질문과 직접 관련있는 답변은 아닙니다만...
FF나 Mozilla, Opera등에서는 위와 같은 목적의 JS코드는 아무런 효과가 없습니다. Disable JavaScript 해버리면 무력해지니까요.

IE DOM과 W3C DOM에서는 이벤트 객체를 얻는 법 및 쓰는 법이 다릅니다. 크로스 브라우징 기법에 대한 문서나 검색해 보시면 답을 얻으실 수 있을 것 같네요.

(그런데, 여기도 점점 Q&A 사이트가 되는 것 같군요...)

Posted: 2005 11 28 18:16 00
by eouia
한가지 더 지적하자면,
이 게시판 목적이 "웹 표준화"인데, "마우스 및 키 강제조작"이라는, 접근성에 문제가 될 만한 기법을 연구(?)하는 것이 어떤 의미인가 하는 생각이 듭니다.
웹표준화가 그저 "FF에서도 화면이 보이게 하는 것"은 아니지 않나요?

질문이 잘못되었나요??

Posted: 2005 11 28 18:41 02
by bumworld
제가 크게 잘못한것 같진 않은데요..

분명 개발자 포럼 메인에 "문제 해결을 위한 게시판입니다."
이렇게 써있고..
다른 분들도 ie에서 파폭으로 넘어오게 하기위해
이곳에서 도움을 주시는걸로 알고 있습니다.
질문글 올리는것 자체가 문제라는것은 아니라고 봅니다.

그리고 웹표준화라는것이 단지 "FF에서도 화면이 보이게 하는 것"
이라고 단정지을수 있을까요??
현업에서 필요한 업무라면 큰 범주로 봤을때
웹 표준화에 들어간다고 생각하는데요.
그리고 스크립트 설정을 disable 할수 있지만
굳이 막는 이유는 일반 사용자 때문입니다.
그렇게 따지자면 ie도 스크립트 무력화가 충분히 가능한데
그 기능을 넣을 필요는 전혀 없겠지요.

쩝...순간 답글을 보니 쓸대없는 짓을 하고 있다라는 생각이 들어서요.

몇번 거론된 문제라서

Posted: 2005 11 28 19:39 29
by 박민권
이전에도 여러번 거론된 문제라서 이전 답변을 달았던 게시물의 링크를 걸었습니다.

viewtopic.php?t=2747&highlight=event

그리고 위에 답변처럼 마우스 막기는 사실 안하는게 좋습니다.
있어도 무용지물이며 웹접근성에 반하기 때문입니다.