<a href="">
클릭을 듣고 데이터 속성의 링크로 바꾸는 JavaScript (jQuery) 코드가 있습니다.자바 스크립트 창 위치 사용자가 원하는 경우에만 새 탭
<a class="js-external" href="http://www.google.com/" data-href="/tracking.php?url=http://www.google.com/">Google</a>
<script type="text/javascript">
$('a.js-external').click(function(e) {
var hrefNew = $(this).attr('data-href');
if (hrefNew) {
e.preventDefault();
window.location.href = hrefNew;
}
});
</script>
의도 한대로 작동하지만 일부 브라우저 동작이 중단됩니다. 링크 (새로운 창에서 열기)에 ctrl
+ click
의 사용자가있는 경우 URL은 여전히 같은 창에서 열립니다.
어떻게 일반 브라우저를 중단 할 수 있습니까? 사용자가 ctrl
을 누른 상태에서 window.open()
을 사용하면 감지해야합니까? 당신이 당신의 질문에서 언급 한 바와 같이 그렇게 e.preventDefault();
와 기본 동작을 방지하기 때문에이 문제가 발생
'경우 (e.ctrlKey) window.open (...)'? –
예, 할 수 있습니다. 그러나 나는 또한 mac와 아마도 좀 더 많은 경우를 위해'metaKey'를 추가해야 할 것입니다. 더 좋은 방법이 없을까요? – DenverCoder9