2014-10-02 35 views
3

表中包含数字值,每个单元格各自拥有href如何用“ctrl + click”打开新标签,而不是重定向jquery中的当前标签页?

如果我申请的HREF是这样的:

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

每次单击单元格重定向窗口,我不能用“CTRL +单击”打开新的标签页。

如果我在TD中加入类似'<a href="http://google.com"> 123123 </a>'的东西,那么通过数字值进行排序会中断,进入字典顺序。

+0

你为什么不说你的评论作为答案? @George – 2014-10-02 18:23:52

+0

@George - 在这里你去.... http://jsfiddle.net/rntL9ngg/1/ – LcSalazar 2014-10-02 18:25:49

回答

3

做一个检查,看看CTRL键是否已按下时,发生了此事件:

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

JSFiddle

你不会看到小提琴页改变,但你会看到它在控制台中产生的错误。

+1

有些人通过使用鼠标中键或右键单击并在上下文菜单中按下“在新选项卡中打开”,在新选项卡中打开链接。 – 2014-10-02 18:33:08

+1

当然,我是其中之一,但这是另一个问题。 – George 2014-10-02 18:33:52

0

回答最初的问题我的回答将是: 不需要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 Reference Javascript open new window reference

+0

这也是我的膝盖混乱的答案,但我认为OP想要一个jQuery解决方案,因为点击元素似乎是'td',而不是链接。另外,它似乎OP需要新的标签行为*只*当按下ctrl时单击。 – 2014-10-02 18:29:25

+0

可能,我的Engrish不太好。我在说我不能在表格的单元格中格式化数据。我不能用你的HTML代码替换数字123123。 – 2014-10-02 18:30:23

+0

@Woodrow Barlow,你是对的。 – 2014-10-02 18:30:59

相关问题