2014-10-02 3 views
-1

지금은 제대로 작동하는 페이지에서 작업하고 있지만, 아약스를 사용하여 좀 더 반응적으로 만들고 싶습니다. 그래서 JS 함수를 호출하고 링크를 클릭 한 상태에서 페이지에 머물고 싶지만 마우스 가운데 버튼 (새 탭을 여는 중)을 클릭 할 때 함수를 실행하지 않고 대신 새로운 탭 (일반 링크처럼).함수를 사용하거나 자바 스크립트를 사용하여 새 탭을 엽니 다.

<a href="someSite.php" id="myLink">Link</a> 

myLink.onclick = function() { 
    doAjax(); 
    return false; 
}; 

그러나 마우스 가운데 버튼을 클릭하면이 경우

이 함수를 호출

는 지금은 이런 일이있다.

버튼 감지 및 jQuery를 사용하지 않는 방법이 있습니까?

+0

가능한 중복 도움이 될 것입니다 [클릭 마우스 가운데 버튼을 감지하는 방법?] (http://stackoverflow.com/ 질문/21224327/how-to-detect-middle-mouse-button-click) –

+0

버튼을 확인해야합니다. '중간'클릭 이벤트는 없습니다. – epascarello

답변

0

당신은 어떤 jQuery를 사용해야합니다,

$("#myLink").on("mousedown", "a.external", function(e) { 
     if((e.which == 1)) { 
       //left click make your ajax call 
     }else if((e.which == 2)) { 
       //middle click open your new tab 
       var _window = window.open('your link', '_blank'); 
       if(_window){ 
         _window.focus(); 
       }else{ 
         console.log('popup blocked'); 
       } 
     } 
     e.preventDefault(); 
}); 

희망이 당신의

+1

라이브가 유효한 jQuery가 아닙니다. 1.7에서 더 이상 사용되지 않으며 버전 1.9에서 제거되었습니다. 그리고 OP는 jQuery가 아니라고 말했다. – epascarello

+0

음, 코드가 – Ahmad

+0

으로 업데이트되었습니다. @epascarello OP가 ** 또는 ** jQuery입니다. 어쨌든 하나는 * jquery를 사용해야하지 않습니다. –

관련 문제