javascript 如何在jQuery中使用“ctrl+click”打开新标签页,而不是重定向当前标签页?

d5vmydt9  于 2023-05-16  发布在  Java
关注(0)|答案(2)|浏览(106)

表中包含数字值,每个单元格都有各自的href
如果我像这样应用hrefs:

nTd.click(function(e){
   $(this).css("font-weight","bold");
   e.stopPropagation();
   location.href = 'http://google.com';
});

每次点击单元格重定向窗口,ctrl + click无法打开新标签页。
如果我在TD中添加类似'<a href="http://google.com"> 123123 </a>'的东西,那么对数字值的排序将中断,进入字典顺序。

iklwldmw

iklwldmw1#

检查事件发生时CTRL键是否按下:

nTd.click(function(e){
   $(this).css("font-weight","bold");
   e.stopPropagation();
    if(e.originalEvent.ctrlKey || e.originalEvent.metaKey){
        window.open("http://www.google.com", "_blank");
    } else {
        location.href = 'http://google.com';   
    }
});

JSFiddle
您不会在fiddle中看到页面更改,但会在控制台中看到它产生的错误。

jgwigjjp

jgwigjjp2#

从最初的问题开始,我的答案是:不需要jquery,你可以简单地改变你的锚标记,使其具有target='_blank'功能。所以完整的例子是:

<a href="http://google.com" target="_blank"> 123123 </a>

根据更多评论和其他想法编辑:或者,你可以将它添加到你的函数中:

window.open('url to open','window name','attribute1,attribute2')

所以一个实际的例子是:

nTd.click(function(e){
   $(this).css("font-weight","bold");
   e.stopPropagation();
   window.open("http://www.google.com", "_blank");
});

Anchor Tag ReferenceJavascript open new window reference

相关问题