문제

여러 개의 링크가 포함 된 테이블을 구축하는 함수를 호출합니다.

링크가 오른쪽 또는 왼쪽 마우스로 클릭한지 확인하고 싶습니다.

나는 Per <a> 하이퍼 링크에 다음 부분을 추가하려고 시도했다.

onmousedown="function mouseDown(e){
switch (e.which) {
   case 1: alert('left'); break;
   case 2: alert('middle'); break;
   case 3: alert('right'); break; }
}"
.

그러나 링크를 클릭하면 아무 일도 일어나지 않습니다.

도움이 되었습니까?

해결책

HTML :

<a href="#" onmousedown="mouseDown(event);">aaa</a>​​​​​​​​​​​​​​​​​​​​​​​​​​​
.

자바 스크립트 :

function mouseDown(e) {
  e = e || window.event;
  switch (e.which) {
    case 1: alert('left'); break;
    case 2: alert('middle'); break;
    case 3: alert('right'); break; 
  }
}​
.

데모 .

다른 팁

e.button을 사용하는 브라우저를 지원하는 Xdazz의 답변을 수정하고 값을 표준화하며 E.Which에 저장합니다.추가 된 줄은 jQuery 라이브러리에서 사용되는 것입니다.

function mouseDown(e) {
  e = e || window.event;
  if ( !e.which && e.button !== undefined ) {
    e.which = ( e.button & 1 ? 1 : ( e.button & 2 ? 3 : ( e.button & 4 ? 2 : 0 ) ) );
  }
  switch (e.which) {
    case 1: alert('left'); break;
    case 2: alert('middle'); break;
    case 3: alert('right'); break; 
  }
}​
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top