/*======================================== 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_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("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.ONCONTEXTMENU); 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에서 지원되지 않는다. //대신사용 스타일 적용 : by hanulis // 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); } }