2016-08-05 19 views
0

divがあります。onclick他のページにリダイレクトする機能があります。JavascriptとCtrlキーの競合

しかし、私はCtrlキーとマウスを使用しているときに、リンクは次のタブと同じタブで開かれています。理想的には、新しいタブでのみ開く必要があります。ここ

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

なぜあなたはonclckでこれをやっていますか?それはとにかくデフォルトのブラウザ動作です。 –

+0

@DaveNewtonはい、そうです。しかし、私が単純な 'window.location =" some url "を使っているときには、同じことが起こっています。 –

答えて

1

あるだけでこれを行う:次のように

コードがある

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

だから、あなたはそれが同じタブで開いてクリックしたときCtrlキーを押すと、新しいタブで開きます。

EDIT:だから今、これを試してみてください。

<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> 

ます。また、パラメータでURLを指定することができます。

+0

私はこれを知っています。しかし、私はこれをすることはできません。それは私の要件ではありません。 –

+0

あなたの要件は何ですか? –

+0

'div'だけをクリックするとリダイレクトしたいです。私は ''を使用することはできません。 –

0
+0

あなたの答えをありがとうが、それはクリックのデフォルト機能を妨げている。マウスでクリックすると、同じタブのページにリダイレクトされます。 ctrlキーでマウスを押すと、新しいタブでのみ開くはずです。 –

関連する問題