메뉴 건너뛰기

?

단축키

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
번호 제목 날짜 조회 수
107 반복문 사용할때 태그 식별하기 data-item 2018.07.04 1849
106 배너 램덤으로 부여주기 2014.03.01 5911
105 배열과 Array객체 2019.01.16 1051
104 배열의 리터럴 선언, 또다른 배열 선언 방법! 2015.02.03 6408
103 버튼 삭제 2015.02.03 5951
102 복사방지+드래그금지+마우스우클릭 금지 2016.12.22 7912
101 부드럽게 페이지 이동하기 2016.09.11 6003
100 브라우저별 이미지 크기 변경 file 2016.11.17 7928
99 비동기 작업의 원리 (JavaScript 엔진, Web API, Task Queue, Event Loop) file 2023.01.20 138
98 새로고침(F5) 금지 2018.03.28 6001
97 새창을 띠워서 focus주기 2014.03.01 5715
96 샘플) top left menu 2014.03.01 5513
95 선택(CheckBox) 된 Row 삭제 - 화면에서 추가된 Row 2015.04.28 13541
94 선택된 select 의 option 값을 다른 select로 넘겨주기 2014.03.01 5668
93 선택된 데이터 부모창에 넘기기 (iframe ☞ 부모창) 2015.04.28 6614
92 셀렉트(select) change Ajax 이벤트 2016.12.23 12589
91 셀렉트(select) change href 이벤트 2016.12.23 5899
90 셀렉트(select) change 이벤트 (split) 2016.12.23 6009
89 스마트 에디터 (네이버 에디터) 에디터 내에서 이미지 크기 줄이기.(리사이징) file 2018.07.04 2715
88 스마트에디터(SmartEditor)에서 textarea 유효성 체크하기 2018.07.04 3993
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 11 12 13 Next
/ 13

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved