2013-06-07 3 views
0

JavaScript를 사용하여 링크를 클릭 할 때 새 창에서 페이지를 열어야합니다. 나는 Firefox에서 링크를 중간 클릭하면 새로운 페이지의 다른 페이지 대신 현재 페이지를 새 창에서 열 것임을 알았습니다.window.open Firefox에서 중간 클릭

다음을 수행 할 수 없습니다. 이것은 다른 응용 프로그램이 내 코드를 읽을 필요가 있고 링크가 JavaScript를 통해 호출되어야하기 때문입니다.

<a href="http://www.google.ca" target="_blank">Link</a> 

http://jsfiddle.net/4BuTg/

$('#link').click(function(event) { 
    event.preventDefault(); 
    window.open("http://www.google.ca", '_blank'); 
}); 

<a href="" id="link" target="_blank">Middle Click This Link</a> 

답변

0

.click() 대신에 .bind()을 사용해야합니다.

2

당신은, 아래로도 왼쪽 버튼 하나보고 버튼 누름 (mousedown과 mouseupevents)를 정규화 event.which

이벤트

http://api.jquery.com/event.which/ 마우스를 확인하실 수 있습니다 중간은 2, 오른쪽은 3입니다. event.button 대신 event.which를 사용하십시오.

+0

이벤트. Firefox에서 작동하지 않습니다. 나는 대안을 찾고 있어요. – Jon

1

단순히 기본 동작을 다시 링크에 추가 할 수 있습니다. 이 코드는 테스트되지 않은 것을 참고,하지만 난 중간 버튼 문제를 해결해야한다고 생각이 작동하지 않는 경우, 링크가 JS 호출해야합니다으로 당신이 무슨 뜻인지 더 설명하십시오, 그러나

$(document).ready(function() { 
    $('#link').attr('href','http://www.google.com'); 
    $('#link').attr('target','_blank'); 
}); 

을 .

+0

저희 웹 사이트는 응용 프로그램에서도 읽습니다. 어떠한 이유에서 건 우리의 어플리케이션은 당신이'link'을 할 때 새로운 윈도우를 열지 않습니다. 대신, 나는'window.commonHelper.launchExternalBrowser (url); '에 대한 JS 호출을해야 할 것이다. – Jon