2013-04-21 24 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