﻿/*======================================== 
 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/Middle Click.');  
    js_event_anti_stop_event(evt); 
    return false;    } 
  }else { 
  if(evt.which == 3 || evt.which == 2) {  
 alert('Don\'t! Mouse Right/Middle 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); 
 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에서 지원되지 않는다. 
 this_s.addEventListener("contextmenu", js_event_anti_stop_event , false); 
 } 
} 