用jQuery创建一个表行(tr)可点击(带有一个href链接,然后悬停!?)

Nic*_*ick 12 jquery html-table click hyperlink

只是一个(希望)快速的问题,我有以下HTML代码:

<tr>
 <td><img src="img/icons/file_pdf.png"></td>
 <td><a href="../upload/1267473577.pdf">Bulletin 1st March 2010</a></td>
 <td>(01/03/10)</td>
</tr>
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想要一种方法来使用jQuery获取一个href链接并使其无论你在哪个点击特定的表行,它都会带你到那个链接.

有没有办法做到这一点?我可以通过icky内联JavaScript作为绝对的最后手段来做到这一点,但是因为发现了jQuery我非常喜欢能够干净利落地做到这一点的想法:-)

cle*_*tus 18

假设它是一个"普通"链接(不是Javascript触发器),这就足够了:

$("tr").click(function() {
  window.location.href = $(this).find("a").attr("href");
});
Run Code Online (Sandbox Code Playgroud)

您可能希望以某种方式将此行为传达给用户.最小的方法是将鼠标悬停在行上时更改光标.

  • 这个解决方案(以及我发现的所有其他解决方案)的问题在于,您假设该行上的所有点击都应该在浏览器中加载链接位置.右键点击怎么样?还是cmd/ctrl +点击?这些本身不会导致这种行为...... (2认同)

Sco*_* UX 5

我发现这个解决方案对我很有效。

$('table tr').live("click",function(e){ 
    if (e.target instanceof HTMLInputElement || e.target instanceof HTMLAnchorElement){
        return;
        }
        alert('works');
});
Run Code Online (Sandbox Code Playgroud)