首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在单击复选框时停止事件冒泡

如何在单击复选框时停止事件冒泡
EN

Stack Overflow用户
提问于 2009-07-22 09:55:39
回答 7查看 192.3K关注 0票数 192

我有一个复选框,我想要在点击事件上执行一些Ajax操作,但是这个复选框也在一个容器中,它有它自己的点击行为,我不想在点击它时运行它。这个示例说明了我想要做的事情:

代码语言:javascript
运行
复制
$(document).ready(function() {
  $('#container').addClass('hidden');
  $('#header').click(function() {
    if ($('#container').hasClass('hidden')) {
      $('#container').removeClass('hidden');
    } else {
      $('#container').addClass('hidden');
    }
  });
  $('#header input[type=checkbox]').click(function(event) {
    // Do something
  });
});
代码语言:javascript
运行
复制
#container.hidden #body {
  display: none;
}
代码语言:javascript
运行
复制
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<div id="container">
  <div id="header">
    <h1>Title</h1>
    <input type="checkbox" name="test" />
  </div>
  <div id="body">
    <p>Some content</p>
  </div>
</div>

但是,我不知道如何在不导致默认点击行为(复选框变为选中/未选中)不运行的情况下停止事件冒泡。

以下两个操作都会停止事件冒泡,但也不会更改复选框状态:

代码语言:javascript
运行
复制
event.preventDefault();
return false;
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1164213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档