关闭边栏(ESC)打开边栏(ESC)
今天在优化侧边栏的时候,用到了弹出层的效果,弹出的内容被包含在一个父的DIV中,在点击这个父层的时候,能隐藏它,但是在点击这个层的子元素的时候,不让它隐藏,如果没作处理,默认在点击子层的时候,因为子在父里,所以给隐藏掉了,要实现在点击子元素的时候,不隐藏,就要阻止冒泡事件,找了好久终于解决了这个问题:
第一:先实现点击弹出层mysd任何地方的时候隐藏该元素
1 2 3 |
$('.mysd').click(function(){ $(this).fadeOut('1000') }) |
第二:子元素widget也属于mysd,点击子widget时也会隐藏mysd层,不是我们想要的,这时候要阻止冒泡事件,即mysd的事件对子元素widget无效
1 2 3 |
$('.mysd .widget').click(function(event){ event.stopPropagation(); }) |
当然,也可以用return false来防止冒泡
1 2 3 |
$('.mysd .widget').click(function(event){ return false; }) |
这样,就达到了本站底部固定菜单出弹层想要的效果了。又取了一经!