欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

javascript中子标签如何屏蔽父标签的事件

程序员文章站 2022-05-25 22:31:57
...
   今天写js代码遇到一个问题,代码如下
 <tr onClick='queryUserInfoByUserId(userId);'>
    <td id='td1'>
      <input type='checkbox' name ='user_info_checkbox'/>
    </td>
    <td id =td2></td>
     ....
 </tr>

   欲实现如下效果:
   点击一行时候 单元格td1 不响应queryUserInfoByUserId事件,而只有选择checkbox操作,点击其他单元格时候响应queryUserInfoByUserId事件。上网查询知道在HTML标签中  标签的响应顺遵循冒泡原则,即如果td1中有事件A 则td1的响应顺序为:
A--->queryUserInfoByUserId
上网查询 解决方法如下:

 <tr onClick='queryUserInfoByUserId(userId);'>
    <td id='td1' onclick='if(document.all)event.cancelBubble=true;else event.stopPropagation();'>
      <input type='checkbox' name ='user_info_checkbox'/>
    </td>
    <td id =td2></td>
     ....
 </tr>

在td1中加入上述代码即可实现