使<tr>像<a>一样

nic*_*des 3 html javascript jquery

我有一张桌子,我希望每一行都可以点击.现在,我做的很简单:

$('tr').click(...)
Run Code Online (Sandbox Code Playgroud)

这在很大程度上起作用,但我怎样才能使它像这样的链接:

  • 按住Shift键单击可在新窗口中打开目标
  • 中键单击可在新选项卡中打开目标
  • 悬停显示状态栏中的链接地址

Rex*_*x M 11

这在某些浏览器中技术上是可行的,但不是全部,对于那些支持它的人来说,这是很多工作.您必须拦截键盘和非左键单击事件.你可能最好只将常规A标签中的每个TD的内容包装起来.

走向JS /覆盖路线也不会优雅地降级...如果您所做的只是真正只是链接到另一个页面,如典型的HREF,那么依赖于JavaScript几乎是愚蠢的.

  • 值得一提的是,Firefox的默认设置是禁止更改状态栏(并且有充分的理由). (2认同)

Vot*_*ple 7

一种选择是实现.mouseUp()并手动检测shift和ctrl键,以及按下哪个按钮.当然,这听起来容易出现各种丑陋的失败,其中你会错过一些个人用户设置的怪癖.

相反,如何自动将<a>标签添加到执行您想要的每个单元格.在jQuery中,这只是:

$('tr th, tr td').wrapInner('<a href="..."></a>').children('a').click(function() {
    ...
});
Run Code Online (Sandbox Code Playgroud)

  • 对于爱情,请不要做第一个选择.没有办法不会让人失望. (4认同)