阻止在单击图像时在父元素上发生单击事件

Prevent click event on parent element when image clicked

本文关键字:单击 元素 事件 图像      更新时间:2023-09-26

由于点击事件传播到父元素,我试图停止运行第二段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....
  });

如果用户使用onclick="Edit(this.id);":点击tr内的img,我还会做其他事情

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

如何在对Edit(this.id);的调用中停止tr事件?谢谢

使用

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

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