인터넷정보

오른쪽마우스버튼,키보드 입력 방지,드래그금지, 특정키 제어

알 수 없는 사용자 2007. 10. 10. 11:58

js_event_anti.js 파일은 하단 첨부파일 다운로드 받으세요.

<script src='js_event_anti.js' language='javascript' type='text/javascript'></script>
<script> js_event_anti(window.document);</script>

/*========================================
js_event_anti.js
오른쪽마우스버튼,키보드 입력등 방지

this_s : 원하는 대상(페이지 전체는 window.document)
e : event 객체

ex1>
js_event_anti([개체]);//페이지 복사방지(오른쪽마우스,키보드, 팝업창이라면 완벽!)
(개체을 지정하지 않으면 window.document가 대상, 페이지 복사방지(오른쪽마우스,키보드, 팝업창이라면 완벽!)
ex2>
[개체].이벤트 = js_event_anti_stop_event; //개체의 해당 이벤트동작은 무시된다


mins01,mins,공대여자
MSN,NateOn : mins01(at)lycos.co.kr
2007-02-01
"공대여자는 예쁘다."를 나타내야만 쓸 수 있습니다.
//========================================*/
//==== 오른쪽 마우스 버튼 막기
function js_event_anti_right(e) {
evt = e || event;
    try{
  if (document.all){
   if(evt.button == 2 || evt.button == 3) {    
alert!!('Don\'t! Mouse Right Click.');  
    js_event_anti_stop_event(evt);
    return false;     }
  }else {
   if(evt.which == 3 || evt.which == 2) {  
alert!!('Don\'t! Mouse Right Click.');  
    js_event_anti_stop_event(evt);
    return false; }
  }
    }catch(ex){
  return false;
    }
}
//==== 키보드 입력 막기
function js_event_anti_processKey(e){
evt = e || event;
alert!!('Don\'t! Key Input.');
  try{
  js_event_anti_stop_event(evt);
  return false;
    }catch(ex){
  return false;
    }
}
//==== 이벤트 동작 무시!
function js_event_anti_stop_event(evt){
if(window.event){
window.event.keyCode = 0;
window.event.cancelBubble = true;
window.event.returnValue = true;    
}else{
evt.stopPropagation();
evt.preventDefault();
evt.initEvent;
}
return false;
}
//==== 기본안티 이벤트 등록(오른쪽마우스,드래그,키입력)
function js_event_anti(this_s){
//문제점 : FF에서는 드래그 이벤트를 제어할 수 없다.// 스타일로 처리
if(!this_s){this_s = window.document;}
if(document.attachEvent){
this_s.attachEvent("onkeydown", js_event_anti_processKey );
this_s.attachEvent("onmousedown", js_event_anti_right );
this_s.attachEvent("onselectstart", js_event_anti_stop_event );
this_s.attachEvent("ondragstart", js_event_anti_stop_event );
this_s.attachEvent("oncontextmenu", js_event_anti_stop_event );
}
else{
window.captureEvents(Event.MOUSEDOWN);
window.captureEvents(Event.ONKEYDOWN);
window.captureEvents(Event.ONCONTEXTMENU);
this_s.addEventListener("keydown", js_event_anti_processKey , false);
this_s.addEventListener("mousedown", js_event_anti_right , false);
// this_s.addEventListener("dragstart", js_event_anti_stop_event , false);  //FF에서 지원되지 않는다.
// this_s.addEventListener("selectstart", js_event_anti_stop_event , false);   //FF에서 지원되지 않는다.
//대신사용 스타일 적용
// window.document.body.style.MozUserFocus='ignore';
window.document.body.style.MozUserInput='disabled';
window.document.body.style.MozUserSelect='none';
this_s.addEventListener("contextmenu", js_event_anti_stop_event , false);

}
}

-----------------------------------------------------------------------------

그냥 간단한거..

소스보기 금지태그 1

<body oncontextmenu="return false" onselectstart="return false" ondragstart="return false" onkeydown="return false">

소스 설명 :
위의 소스는 body 태그에서 사용합니다.
html 문서에 있던 body 태그에 oncontextmenu="return false" onselectstart="return false" ondragstart="return false"
부분을 붙여넣기 하기만 하면 됩니다. 필요한 것만 넣어서 사용해도 되고 모두 사용해도 됩니다.
oncontextmenu="return false"    마우스 오른쪽 버튼을 눌렀을 때 바로가기 메뉴가 나타나지 않도록 합니다.
onselectstart="return false"    마우스로 선택을 하지 못하게 합니다.
ondragstart="return false"      마우스로 드래그를 하지 못하게 합니다.
onkeydown="return false"        키보드 제어입니다. (글이 안써지죠.)
반응형