메뉴 건너뛰기

?

단축키

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>




  1. No Image 19Jun
    by
    2015/06/19 Views 10315 

    예제 - 자바스크립트로 현재 달의 달력 만들기 (calendar)

  2. No Image 19Jun
    by 조쉬
    2015/06/19 Views 8657 

    마우스 드래그, 오른쪽 팝업메뉴, 선택 막기 (IE11, 파이어폭스, 크롬 확인)

  3. Checkbox : 체크박스 체크여부 확인

  4. 텍스트박스(input type = "text") 숫자 증가, 감소 시키기 - 쇼핑몰 주문 수량

  5. No Image 19Jun
    by
    2015/06/19 Views 6895 

    정규식을 이용한 콤마(comma) 제거하기

  6. No Image 19Jun
    by
    2015/06/19 Views 7950 

    정규식을 이용한 실시간 콤마(comma) 넣기

  7. 자바스크립트로 네트워크 연결 확인하기 (Navigator onLine Property)

  8. No Image 19Jun
    by
    2015/06/19 Views 9589 

    location.href 로 새창 여는 방법 (target=_blank 효과)

  9. No Image 28Apr
    by
    2015/04/28 Views 5689 

    CheckBox 전체 선택 & 해제

  10. No Image 28Apr
    by
    2015/04/28 Views 13619 

    선택(CheckBox) 된 Row 삭제 - 화면에서 추가된 Row

  11. No Image 28Apr
    by
    2015/04/28 Views 6697 

    선택된 데이터 부모창에 넘기기 (iframe ☞ 부모창)

  12. No Image 06Apr
    by
    2015/04/06 Views 8380 

    2단계 트리메뉴 마우스오버(mouseover), 온포커스(onfocus) 구현

  13. No Image 06Apr
    by
    2015/04/06 Views 11815 

    jquery 메뉴 - 아래로 한번에 전체가 펼처짐

  14. No Image 06Apr
    by
    2015/04/06 Views 5651 

    자바스크립트 이벤트 목록입니다. ( javascript event )

  15. '레이블', 반복문을 제어하자!

  16. No Image 03Feb
    by
    2015/02/03 Views 11209 

    'Array', 배열 및 다차원 배열 선언에 대해 알아보자!

  17. No Image 03Feb
    by
    2015/02/03 Views 6515 

    배열의 리터럴 선언, 또다른 배열 선언 방법!

  18. No Image 03Feb
    by
    2015/02/03 Views 6314 

    '문자 ↔ 숫자', 타입을 바꿔보자!

  19. 드롭다운 메뉴를 만들어보자! -1탄

  20. 'onmouseover', 마우스 오버 효과 - 글씨 바꾸기!

Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 11 12 13 Next
/ 13

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved