2016-08-05 57 views
0

div我在其中使用onclick函数重定向其他页面。Javascript和ctrl键冲突

但是,当我使用Ctrl键和鼠标时,链接在下一个选项卡以及相同的选项卡中打开。理想情况下,它应该只在新选项卡中打开。

代码如下:

<div onclick="window.location='some page url'"> 
+0

你为什么用onclck做这个?无论如何,这是默认的浏览器行为。 –

+0

@DaveNewton是的,你是对的。但是,当我使用简单的'window.location =“一些url”'同样的事情发生。 –

回答

1

只是这样做:

<a href="some page url"> 
<div></div> 
</a> 

所以,当你点击它在同一个标​​签中打开当你按下ctrl键时,它会在新选项卡中打开。

编辑:所以现在试试这个:

<div onclick="doRedirect()"></div> 

<script> 
    $(document).keydown(function(event){ 
     if(event.which=="17") 
      cntrlIsPressed = true; 
    }); 

    $(document).keyup(function(){ 
     cntrlIsPressed = false; 
    }); 

    var cntrlIsPressed = false; 


    function doRedirect() 
    { 
     if(cntrlIsPressed) 
     { 
      window.open('some url','_blank'); 
     } 
     else{ 
      window.location('some url'); 
     } 

    } 
</script> 

您还可以在参数中指定的网址。

+0

我知道这一点。但我不能这样做。它不是我的要求。 –

+0

那么你的要求是什么? –

+0

我只想在点击'div'时重定向。我不能使用''。 –