2010-04-22 3 views
3

CTRL + 링크를 클릭하면 새 창을 열 때 기본 IE 7 기능을 억제 할 수 있습니까? 그렇다면 어떻게?IE 7 Ctrl + 클릭으로 새 창이 열립니다 - 어떻게 억제합니까?

감사합니다.

+0

사용자가 특정 방식으로 작업하기를 기대하는 작업을 재정의하는 아주 좋은 이유가 필요합니다. –

+0

그리고 새로운 TAB – Midhat

+0

을 열지 않습니다. IE8에서 작동합니다. 이것은 Firefox와 Chrome의 기본 동작이기도합니다. shift-click은 새 창을 열고, ctrl-click은 새 탭을 엽니 다. 아마 다른 사람들도 마찬가지 일 것입니다. – GalacticCowboy

답변

7

는 + Internet Explorer의 자식 요소가있는 링크를 클릭 Ctrl 키을 억제 할 수있는 방법이 없습니다. 마이크로 소프트가 사용자를 혼란스럽게 할 수 있다는 두려움에서이 기능을 변경하는 것을 원치 않는 것 같습니다.

이 답변을 게시하기 전에 공식 확인/설명을 검색했지만 불행히도이 제한 사항은 MSDN의 설명서에 나와 있지 않으므로 Google은 도움이되지 않았습니다. 그럼에도 불구하고, 사실 남아있는, 스스로 시도 :

<a href="#" onclick="alert('Hello');">Hello</a> 

을 당신은 Ctrl 키이 경고 상자를 포기하지 않습니다 링크를 클릭 + 찾을 수 있습니다. pinkgothic에 따르면 링크에 자식 요소를 할당하면 문제를 해결할 수 있습니다. 예를 들면 :

클릭이 <a> 요소에 전파하기 전에, 먼저 <span> 요소에 대해 트리거되기 때문에이 작동
<a href="#" onclick="alert('Hello');"><span>Hello</span></a> 

.

+0

그래, 난 이미 알았어 .... 나는 나무 컨트롤에 대한 상자의 동작과 함께 가서 그걸로 전화 할거야 – sarsnake

+0

흥미롭게도, 'Hello'은 Ctrl + 클릭으로 (적어도 IE9에서는) 잘 작동한다. 외관상으로는 사건이 어디에서 위로 거품 나는지 유일한 문제입니다. ''이면 문제를 해결할 수 있습니다. – pinkgothic

+0

@pinkgothic : IE의 구버전 버전에서도 잘 작동한다고해도 유감 스럽습니다. –

1

jQuery event.preventDefault() 메서드 또는 이와 유사한 방법으로 사용자가 제어하는 ​​페이지의 기본 동작을 무시할 수 있습니다.

일반적으로 브라우저와 동작이 "자신의 것"이므로 사용자의 브라우저 동작을 변경하는 것은 바람직하지 않습니다. 앵커에

+0

트리에서 노드를 처리하려고합니다. 그들은 supp. 클릭 할 수는 있지만 열려있는 링크는 아닙니다. 나는 전통적인 연결을 위해 이것을하지 않을 것이다. – sarsnake

0

추가 스크립트와 거짓

<a href='some.htm' onclick='return false;'></a> 

돌아가서는 트 리뷰 더 접근하게하기 때문에이 트 리뷰에서 앵커를 사용하는 것이 유효합니다. Ctrl 키 키를 누르고있는 경우 onclick 이벤트 링크 클릭에 대해 전혀 발생하지 않습니다 -

0

당신은 Ctrl 키를 처리 + 너 자신을 위해 기능을 클릭하고이

1

가 연산과 같은 문제를 가지고 있었고 그것을 해결 맥을 포함한 모든 브라우저에서 작동

$("a").click(function(event){ 
if(event.metaKey || event.ctrlKey){ 
//handle over here 

return false; 
} 

}); 

예를 들어, false를 반환 할 수 jQuery를 사용하여 anchor href 속성에 '#'을 지정하고 해당 링크 위치에 추가 data-href 속성을 지정합니다. 링크를 따라 가기 위해 클릭 핸들러가 필요하고 "새 창에서 열기"를 마우스 오른쪽 버튼으로 클릭해야하는 단점은이 방법으로는 작동하지 않습니다.

eg: In AnchorTag, Use href and data-ref as: 
<a id="logout" href="#" data-href="${yourPath}"> 

And in javascript, use  
$("#logout").click(function(e) { 
    if(e.ctrlKey) 
e.preventDefault(); 
window.location = $(e.target).attr("data-href"); 
}); 
1

범위 내에서 링크 텍스트를 줄 바꿈하십시오. 다음과 같이하십시오 :

<a href="test.html"><span>click here!</span></a> 
관련 문제