Javascript 表行单击-两个目的地

Javascript 表行单击-两个目的地,javascript,html,css,Javascript,Html,Css,我想让整个表行都可以点击,包括空格。我已经看到了使用JavaScript和TR上的点击处理程序实现这一点的方法,或者只是将每个TD设置为display:block 问题是,我还希望行中有一些文本链接到其他地方,但不会触发整个行其余部分的基础链接。本质上,这个特殊的文本将像一个“徽章” 大概是这样的: T = Text B = Badge W = Whitespace TTTTT BB WWWWWWWWWWWWWWWWWWW 行中的单个单元格可能如下所示: T = Text B = Badge

我想让整个表行都可以点击,包括空格。我已经看到了使用JavaScript和TR上的点击处理程序实现这一点的方法,或者只是将每个TD设置为display:block

问题是,我还希望行中有一些文本链接到其他地方,但不会触发整个行其余部分的基础链接。本质上,这个特殊的文本将像一个“徽章”

大概是这样的:

T = Text
B = Badge
W = Whitespace
TTTTT BB WWWWWWWWWWWWWWWWWWW
行中的单个单元格可能如下所示:

T = Text
B = Badge
W = Whitespace
TTTTT BB WWWWWWWWWWWWWWWWWWW
单击T和W将转到一个链接,这是通常的情况。 但是点击B会在新窗口中打开一个不同的链接,而不会在主窗口中打开原始链接


寻找正确方向的指针,无论是纯HTML/CSS还是JavaScript等。谢谢,

查看IE属性中事件的
target
FF/Chrome/Safari或
srcelment
。即使您正在收听TR上的某个事件,您也应该看到实际单击的对象的
event.target
。然后可以查看元素(或其父元素)以确定要采取的操作。更多详细信息:

查看事件的
目标
FF/Chrome/Safari,或IE属性中的
srcement
。即使您正在收听TR上的某个事件,您也应该看到实际单击的对象的
event.target
。然后可以查看元素(或其父元素)以确定要采取的操作。更多详细信息:

您可以使用一个元素进行导航,然后如果该行从一个元素中获得单击,则忽略它

<tr onclick="doSomething(event);">
  <td>
    <a href="…">TTTTT</a><a href="…">BB</a>WWWWWWWWW…


function doSomething(evt) {
  var tgt = evt.target || evt.srcElement;
  if (tgt && tgt.tagName.toLowerCase() == 'a' && tgt.href) {
    // don't do click action
    return;
  } 
  // do click action
}

wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww…
功能剂量测量(evt){
var tgt=evt.target | | evt.src元素;
if(tgt&&tgt.tagName.toLowerCase()='a'&&tgt.href){
//不要执行单击操作
返回;
} 
//执行单击操作
}

哦,不要让TRs display:block,因为它们应该是display:table单元格。

您可以使用一个元素进行导航,然后如果该行从一个元素获得单击,则忽略它

<tr onclick="doSomething(event);">
  <td>
    <a href="…">TTTTT</a><a href="…">BB</a>WWWWWWWWW…


function doSomething(evt) {
  var tgt = evt.target || evt.srcElement;
  if (tgt && tgt.tagName.toLowerCase() == 'a' && tgt.href) {
    // don't do click action
    return;
  } 
  // do click action
}

wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww…
功能剂量测量(evt){
var tgt=evt.target | | evt.src元素;
if(tgt&&tgt.tagName.toLowerCase()='a'&&tgt.href){
//不要执行单击操作
返回;
} 
//执行单击操作
}

哦,不要让TRs显示:块,因为它们应该是显示:表格单元格。

你试过什么吗?你说的空白是什么意思?他们是空牢房吗?有什么例子吗?你试过什么吗?你说的空白是什么意思?他们是空牢房吗?有什么例子吗?我也喜欢这个答案,但还是用上面的答案。多亏了这两个!我也喜欢这个答案,但还是同意上面的答案。多亏了这两个!