停止传播元素,但不是它的孩子?

时间:2015-12-25 23:49:33

标签: jquery html

我有一个$(document).click() event来关闭一个侧边栏元素,我停止事件传播以使其难以处理,但在该侧边栏中是一个我想要响应.click()事件的锚点关闭侧边栏元素,但我不知道该怎么做。

我的HTML代码

  <nav class="sidebar">
      <li class="close"><a><span class="fa fa-close">&nbsp;</span>Close</a></li>
      <a><li class="menu">Explore</li></a>
      <a><li class="menu">Recent</li></a>
      <a><li class="menu">About</li></a>
      <a><li class="menu">Contact</li></a>
      <a class="signup"><li class="menu">Signup</li></a>
  </nav>

我打电话给jQuery(var sidebar = $(&#39; .sidebar&#39;)):

var clickout = function() {
  $(document).click(function() {
      sidebar.removeClass('active');
      sidebar.animate({
        left: '-300px'
      }, 200, 'easeInOutCubic');
  });

    sidebar.click(function(e){
      e.stopPropagation();
    });
};

2 个答案:

答案 0 :(得分:1)

首先尝试在没有javascript的情况下解决它。使用css3 ...提供这样的动画效果。 link

第二次给你的导航栏一个id =“sidebar” 在jQuery中更改为:

var sidebar = $('#sidebar')

进一步写:

sidebar.click(function(e){
    e.stopPropagation;
});

如果您不想在此功能上进行即时通话。

答案 1 :(得分:0)

首先。将锚点放在WSGIPythonPath /var/www/mysite.com/portfoliosite:/home/ubuntu/.virtualenvs/portfoliositeenv/lib/python3.4/site-packages/ Alias /media/ /var/www/mysite.com/portfoliosite/portfolio/media/ Alias /static/ /var/www/mysite.com/static/ <Directory /var/www/mysite.com/static> Require all granted </Directory> <Directory /var/www/mysite.com/media> Require all granted </Directory> WSGIScriptAlias / /var/www/mysite.com/portfoliosite/portfoliosite/wsgi.py <Directory /var/www/mysite.com/portfoliosite> <Files wsgi.py> Require all granted </Files> </Directory> 标记

li

然后低于<nav class="sidebar"> <li class="close"><a><span class="fa fa-close">&nbsp;</span>Close</a></li> <li class="menu"><a>Explore</a></li> <li class="menu"><a>Recent</a></li> <li class="menu"><a>About</a></li> <li class="menu"><a>Contact</a></li> <li class="menu"><a class="signup">Signup</a></li> </nav> ..添加ff

sidebar.click

表示它将搜索侧边栏内的所有锚点并停止父母事件。