2013-04-21 50 views
2

我有这样的代码:表行表现得像一个链接

$('.table-striped tr').click(function() { 
    var link = $(this).find('a').attr('href'); 
    if(link != 'undefined') { 
     window.location = link; 
    } 
}).hover(function() { 
    $(this).toggleClass('hover'); 
}); 

,它的工作好(的<a>是隐藏的)。我也有一个漂亮的CSS规则td:hover,突出显示整行。

我现在怀念的是:

  • 右键单击要能够“在新标签/窗口中打开”
  • 中点击

你知道该怎么办呢?

+0

据我所知,你不能模拟它,因为它保留在浏览器中的锚标签。我建议作为一个完整的猜测唯一的事情就是尝试添加一个“href”属性到你的tr – Bryan 2013-04-21 00:17:40

+0

我建议使用真正的链接和CSS网格/ flex来模拟表格布局。另外 - 仍然使用链接 - 将其显示设置为“table-row”。 – tborychowski 2017-07-15 21:35:24

回答

0

上下文菜单和中间点击操作是链接上浏览器的默认行为(<a/>)。所以一般来说你不能在其他元素上模拟这种行为。但是你可能会接近一些JavaScript。

例如,为了打开中间点击在新标签页的链接(如大多数浏览器默认每做),使用此事件:

$("#foo").live('click', function(e) { 
    if (e.which == 2) { 
     e.preventDefault(); 

     // open new tab/window 
     window.open('path'); 
    } 
}); 

上下文菜单是一个更大的问题,因为它会很难(不可能)使它看起来像原始的,但你可以创建自己的。有几个jQuery插件。只需google