복붙노트

[JQUERY] 마우스 오른쪽 클릭에 바인딩 이벤트

JQUERY

마우스 오른쪽 클릭에 바인딩 이벤트

해결법


  1. 1.아무 jQuery를에는 onContextMenu 이벤트 핸들러 내장되지 않지만, 당신은 이런 식으로 뭔가를 할 수 있습니다 :

    아무 jQuery를에는 onContextMenu 이벤트 핸들러 내장되지 않지만, 당신은 이런 식으로 뭔가를 할 수 있습니다 :

    $(document).ready(function(){ 
      document.oncontextmenu = function() {return false;};
    
      $(document).mousedown(function(e){ 
        if( e.button == 2 ) { 
          alert('Right mouse button!'); 
          return false; 
        } 
        return true; 
      }); 
    });
    

    기본적으로 나는 브라우저 컨텍스트 메뉴를 비활성화 할 DOM 요소의는 onContextMenu 이벤트를 취소하고 내가 jQuery를 함께 mousedown 이벤트를 캡처, 당신은 버튼을 누를 된 이벤트 인수가 알 수 있습니다.

    현재 위의 예제를 시도 할 수 있습니다.


  2. 2.이 기능은 너무 일찍 반환합니다. 나는 아래의 코드에 주석을 추가했습니다 :

    이 기능은 너무 일찍 반환합니다. 나는 아래의 코드에 주석을 추가했습니다 :

    $(document).ready(function(){
        $(document).bind("contextmenu",function(e){
            return false;
            $('.alert').fadeToggle(); // this line never gets called
        });
    });
    

    반환 거짓을 교환하십시오; 다음 라인.


  3. 3.그냥 이벤트 핸들러를 사용합니다. 이런 식으로 뭔가 작업을해야합니다 :

    그냥 이벤트 핸들러를 사용합니다. 이런 식으로 뭔가 작업을해야합니다 :

    $('.js-my-element').bind('contextmenu', function(e) {
         e.preventDefault();
         alert('The eventhandler will make sure, that the contextmenu dosn't appear.');
    });
    

  4. 4.여기이 대답을 발견하고 나는 이런 식으로 사용하고 있습니다.

    여기이 대답을 발견하고 나는 이런 식으로 사용하고 있습니다.

    내 라이브러리에서 코드 :

    $.fn.customContextMenu = function(callBack){
        $(this).each(function(){
            $(this).bind("contextmenu",function(e){
                 e.preventDefault();
                 callBack();
            });
        }); 
    }
    

    내 페이지의 스크립트 코드 :

    $("#newmagazine").customContextMenu(function(){
        alert("some code");
    });
    

  5. 5.

    document.oncontextmenu = function() {return false;}; //disable the browser context menu
    $('selector-name')[0].oncontextmenu = function(){} //set jquery element context menu 
    

  6. 6.하려면 contextmenu 이벤트인가?

    하려면 contextmenu 이벤트인가?

    내가하면 onMouseDown 사용하거나 온 클릭 한 후 눌러 진 버튼을 결정합니다 된 MouseEvent의 버튼 속성을 잡아 것 (0 = 1 = 중간, 2 = 오른쪽 왼쪽).


  7. 7.페이지의 모든 이미지에 해제 마우스 오른쪽 버튼으로 클릭 컨텍스트 메뉴에 간단하게 다음과 같이이 작업을 수행 :

    페이지의 모든 이미지에 해제 마우스 오른쪽 버튼으로 클릭 컨텍스트 메뉴에 간단하게 다음과 같이이 작업을 수행 :

    jQuery(document).ready(function(){
        // Disable context menu on images by right clicking
        for(i=0;i<document.images.length;i++) {
            document.images[i].onmousedown = protect;
        }
    });
    
    function protect (e) {
        //alert('Right mouse button not allowed!');
        this.oncontextmenu = function() {return false;};
    }
    

  8. 8..contextmenu 방법 : -

    .contextmenu 방법 : -

    로 다음 시도

    <div id="wrap">Right click</div>
    
    <script>
    $('#wrap').contextmenu(function() {
      alert("Right click");
    });
    </script>
    

    .mousedown 방법 : -

    $('#wrap').mousedown(function(event) {
    
            if(event.which == 3){
                alert('Right Mouse button pressed.');
            }  
    });
    
  9. from https://stackoverflow.com/questions/706655/bind-event-to-right-mouse-click by cc-by-sa and MIT license