可以覆盖javascript事件吗?

时间:2014-08-18 19:35:09

标签: javascript jquery event-handling

我想知道是否可以在表格行和图标列的javascript中都有一个点击事件,而不会发生tr事件。该表看起来像这个atm

<table id="the-table"> 
  <tr>
    <td class="name">a name</td>
    <td class="description">a description</td>
    <td class="time">00:00:00</td>
    <td class="icons"><i class="fa fa-info"></i></td>
  </tr>
  <tr>
    <td class="name">a name</td>
    <td class="description">a description</td>
    <td class="time">00:00:00</td>
    <td class="icons"><i class="fa fa-info"></i></td>
  </tr>
</table>

我绑定了2个点击事件。

$( "#the-table tr" ).click(function() {
 //do something
});

$( "#the-table .icons i" ).click(function() {
 //do something else
});

但是每当我尝试触发点击事件时,tet图标te表行事件就会触发。是否可以捕获tr事件并点击图标点击?

1 个答案:

答案 0 :(得分:0)

是的,您从图标点击的处理程序中调用e.stopPropagation(),以便点击不会传播(&#34;冒泡&#34;)到该行:

$( "#the-table .icons i" ).click(function(e) {
 e.stopPropagation();
 //do something else
});