单击图像时,阻止父元素上的单击事件

时间:2014-10-11 08:11:51

标签: javascript jquery html

由于点击事件传播到父元素,我试图阻止第二块JS运行,但是我被卡住了。

我在表格中有以下行的HTML:

<tr id="DEMO01-P" role="row" class="odd">
   <td><img id="DEMO1" src="../imagedir/edit.png" onclick="Edit(this.id);">Info here</td>
   <td>And here</td>
</tr>

我在tr like上有一个点击事件:

  jQuery('#system-tbl tbody').on('click', 'tr', function () {
    var self = jQuery(this);
    if ( self.hasClass('selected') ) {
      self.removeClass('selected');
    } else {
      table.$('tr.selected').removeClass('selected');
      self.addClass('selected');
    }
    DO STUFF....
  });

如果用户使用img点击tr内的onclick="Edit(this.id);",我也会采取其他措施:

function Edit(system_id) {
    alert("Edit: " + system_id);
    window.location.href = "/go-to-page/";
};

如何在致电tr时停止Edit(this.id);事件?谢谢!

1 个答案:

答案 0 :(得分:4)

使用

<td><img id="DEMO1" src="../imagedir/edit.png" onclick="Edit(event,this.id);">Info here</td>

function Edit(e,system_id) {
::
e.stopPropagation()
}