首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从父div中排除选择器

从父div中排除选择器
EN

Stack Overflow用户
提问于 2012-02-03 18:21:15
回答 3查看 179关注 0票数 2

我需要在点击页面(# page )的背景时触发一个事件(例如隐藏一个浮动的购物车),但当点击内容内部时不会发生这个事件。所以我需要这个事件发生在空间:页面减去内容。我该如何实现它?谢谢

如果我有这样的结构:

代码语言:javascript
复制
<body>
<div id="page">
   <div id="content">
     here
   </div>
</div>
</body>

var outer= jQuery("#page");
jQuery(outer).click(function(){
  jQuery(cos_de_cumparare).toggle();
});
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-03 18:26:02

您可以检查事件的目标并相应地执行操作

代码语言:javascript
复制
var outer= jQuery("#page");
outer.click(function(e){
       //trigger the event only if the target of the click is the page
       if(e.target.id === 'page'){
         alert('click');
       }
});

在这里拉小提琴http://jsfiddle.net/wNsd7/

票数 2
EN

Stack Overflow用户

发布于 2012-02-03 18:27:19

要做到这一点,您可以停止事件在链中向上传播。

通常的方法是将单击事件附加到子元素,并从那里停止传播,这样:

代码语言:javascript
复制
$("#page div").click(function(e){
   e.stopPropagation();
})

Here's an example

票数 1
EN

Stack Overflow用户

发布于 2012-02-03 18:41:31

试试这个,然后检查http://jsfiddle.net/qgUjb/4/

代码语言:javascript
复制
$("#page").click(function(event) {
   if(event.target.id == "content") return;
   $("#content").toggle();
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9127040

复制
相关文章

相似问题

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