메뉴 건너뛰기

?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>Disabling right click menu using javascript</title>

 </head>
 
 <body>
  테스트 : <input type="text"/>
 </body>
 <script>

    //기본동작 수행을 금지 Type1
    function blockEvent(e){        
         console.log("blockEvent:"+e);
         if(e){ 
              e.preventDefault(); //DOM 레벨 2
         }else{             
              event.keyCode = 0;
              event.returnValue = false; //IE
         }
    }
    
    //기본동작 수행을 금지 Type2
    function _stopEvent(e) {
        if (window.event) { //IE            
            window.event.cancelBubble = true; //전파 방지
            window.event.returnValue = false; //기본 동작 수행방지
        }
        //DOM 레벨 2
        if (e && e.stopPropagation && e.preventDefault) {
            e.stopPropagation(); //이벤트 전파 중지
            e.preventDefault(); //기본 동작 수행방지
        }
    }

    //이벤트 등록을 처리해주는 함수 (크로스 브라우징)
    function _addEvent(element, eventType, handler) {       
        if (window.addEventListener) {
            element.addEventListener(eventType, handler, false)
        } else {
            if (window.attachEvent) { //IE8이하 버전에서
                element.attachEvent("on" + eventType, handler)
            }
        }
    }

    //마우스 드래그, 오른쪽 팝업메뉴, 선택 막기
    function _addBlockEvent() {
        _addEvent(document"dragstart", _stopEvent); //마우스 드래그  방지
        _addEvent(document"selectstart", _stopEvent); //마우스 선택 방지
        _addEvent(document"contextmenu", _stopEvent); //마우스 오른쪽 클릭 시 팝업메뉴 막기
        if (document.body && document.body.style.MozUserSelect != undefined) { 
            document.body.style.MozUserSelect = "none" //파이어폭스에서 마우스 선택 방지
        }
    }


    //특정키 사용을 방지
    //이 함수는 복사, 붙여넣기의 단축키인 ctrl+c, ctrl+v 키를 막음
    document.onkeydown = function(e){

        var code = document.all ? event.keyCode : e.keyCode;
        var ctrl = document.all ? event.ctrlKey : e.ctrlKey;

        if (ctrl && (code==86 || code==67)) {
            blockEvent(e);
        }
    }
    
    //JavaScript 오른쪽 마우스 사용금지 함수 (IE용)

    function clickIE4(){
        //console.log("e:"+event+"event.button="+event.button);
        //event.button == 0 : 마우스 왼쪽 버튼
        //event.button == 1 : 마우스 가운데 버튼(휠버튼)
        //event.button == 2 : 마우스 오른쪽 버튼

        if (event.button==2 ){
            event.keyCode = 0;
               event.returnValue = false; //IE

            //alert("오른쪽 마우스 사용을 허용하지 않습니다.");
            //blockEvent();
            
            return false;
        }    
    }

    //JavaScript 오른쪽 마우스 사용금지 함수 
    function clickNS4(e){

        if (document.layers||document.getElementById&&!document.all){
            if (e.which==2||e.which==3){
                blockEvent(e);
                return false;
            }
        }
    }

    //JavaScript 오른쪽 마우스 사용금지 함수 (크로스 브라우징 처리)
    function rightbutton(e)
    {
        if (navigator.appName == 'Netscape' &&  (e.which == 3 || e.which == 2))
            return false;
        else if (navigator.appName == 'Microsoft Internet Explorer' 
                                    && (event.button == 2 || event.button == 3))
        {
            alert("오른쪽 마우스 사용을 허용하지 않습니다.");
            return false;
        }
        return true;
    }


    //마우스 드래그, 오른쪽 팝업메뉴, 선택 막기 함수 실행.
    _addBlockEvent();


    //document.oncontextmenu=new Function("return false")
    //document.oncontextmenu= function(e) { _stopEvent(e); };
    //document.onmousedown=_stopEvent;

    // --> 
  </script>
</html>




List of Articles
번호 제목 날짜 조회 수
187 Javascript - 입력받은 숫자를 순서대로 홀짝 별로 배열에 삽입하기 2021.03.09 302
186 Javascript - 입력한 년, 월의 마지막 날짜 구하기 2021.03.09 224
185 Javascript - 화면 캡처 후 서버에 저장하기(html2canvas 사용법, 주의사항) file 2021.03.09 2176
184 Javascript selectbox selected 컨트롤 file 2018.06.21 10058
183 JavaScript 날짜관련함수 2014.02.27 5703
182 Javascript 로 초성검색하기 2019.01.10 2374
181 JavaScript 에서 JSON 생성 2016.11.17 10323
180 javascript 에서 제공하는 3가지 종류의 팝업박스 2016.09.21 5657
179 javascript 인쇄 미리보기, 출력, 페이지 설정 등 2014.03.01 32693
178 JavaScript 출생년도에 따른 나이 계산 자바스크립트 2018.09.28 3252
177 javascript 화면 캡쳐 2016.11.17 9821
176 JDK6 (Java SE Development Kit 6)이하 버전 다운로드 주소 file 2016.09.11 6165
175 jqgrid 이용한 그리드 활용하기 file 2021.03.25 2342
174 jquery offset()을 이용한 부드러운 스크롤 이동 2016.09.01 7277
173 jquery 기본 엘리먼트 속성제어방법 2016.09.11 5518
172 jquery 메뉴 - 아래로 한번에 전체가 펼처짐 file 2015.04.06 11698
171 jQuery 엘리먼트 선택 2018.10.27 1732
170 jQuery 이미지 슬라이드 오버시 큰이미지 보여주기 소스 file 2014.03.01 6975
169 JSON API - JSON.parse(), JSON.stringify() ( json 형태의 문자열을 JSON객체로 , JSON객체를 문자열로 ) file 2015.06.19 6289
168 key pressing 누르거나 클릭중인 이벤트 예제 2018.08.29 1622
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved