2016-08-05 61 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'時重定向。我不能使用''。 –