有div
我在其中使用onclick
函数重定向其他页面。Javascript和ctrl键冲突
但是,当我使用Ctrl键和鼠标时,链接在下一个选项卡以及相同的选项卡中打开。理想情况下,它应该只在新选项卡中打开。
代码如下:
<div onclick="window.location='some page url'">
有div
我在其中使用onclick
函数重定向其他页面。Javascript和ctrl键冲突
但是,当我使用Ctrl键和鼠标时,链接在下一个选项卡以及相同的选项卡中打开。理想情况下,它应该只在新选项卡中打开。
代码如下:
<div onclick="window.location='some page url'">
只是这样做:
<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>
您还可以在参数中指定的网址。
<div onclick="window.open(
'https://support.wwf.org.uk/earth_hour/index.php?type=individual',
'_blank' // <- This is what makes it open in a new window.
);">
Click to open in tab
</div>
这里是工作example
感谢您的回答,但它阻止了默认的点击功能。当用鼠标点击它时,它应该在同一个标签中的页面上重定向。当用Ctrl键按下鼠标时,它应该只在新选项卡中打开。 –
你为什么用onclck做这个?无论如何,这是默认的浏览器行为。 –
@DaveNewton是的,你是对的。但是,当我使用简单的'window.location =“一些url”'同样的事情发生。 –