javascript - 可点击列表元素上的按钮

标签 javascript html css

在我的网络应用程序中,我有一个显示用户选项的列表。每个“li”都是可点击的,这样用户就可以转到所选的选项。此外,每个 li 有 2 个按钮,一个用于删除,另一个用于编辑。但是,每当我单击编辑或删除按钮时,也会触发 li 元素的 onclick 事件。我怎样才能避免这种情况?

<ul id="filters" class="nomargin">
 <li class="item" data-username="blub" onclick="alert('li clicked')"> 
  <span class="default-view">
   <span class="title">id5</span>
   <span class="control">
    <button class="edit-btn" value="edit" onclick="alert('edit')"></button>
    <button class="delete-btn" value="delete" onclick="alert('delete')"></button>
   </span>
  </span>
 </li>
</ul>

我有一个带有原型(prototype)的 jsfiddle:http://jsfiddle.net/LkUn9/

最佳答案

使用event.stopPropagation();

<ul id="filters" class="nomargin">
 <li class="item" data-username="blub" onclick="alert('li clicked')"> 
  <span class="default-view">
   <span class="title">id5</span>
   <span class="control">
    <button class="edit-btn" value="edit" onclick="alert('edit'); event.stopPropagation();"></button>
    <button class="delete-btn" value="delete" onclick="alert('delete'); event.stopPropagation();"></button>
   </span>
  </span>
 </li>
</ul>

检查这个Demo

关于javascript - 可点击列表元素上的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24661867/

相关文章:

html - css - 标签和它们的值之间的最小边距

javascript - Angular 6 - 尝试服务应用程序时未定义进程

javascript - 如何在列表类处于事件状态时更改特定图像

css - 根据内容的大小在 x 轴上扩展一个 div,直到它达到最大宽度

javascript - Bootstrap 导航栏自动完成问题

Angular 忽略了 HTML 必需的验证?

javascript - jQuery 空输入检查功能未按预期工作

javascript - 使用二进制值混淆 javascript 代码?

javascript - 如何多次更新 Firebase

javascript - 如何缩放到 iframe 响应中的特定元素?