jQuery实现点击某个div打开层,点击其他div关闭层实例分析(阻止冒泡)_jquery

本文实例讲述了jQuery实现点击某个div打开层,点击其他div关闭层的方法。分享给大家供大家参考,具体如下:

其实很早就学过js一些高级部分的知识,但是用的不多,也就慢慢淡忘了。最近发现随着编程的深入,你不得不用到它们,比如事件的冒泡。

有一需求如下:

①点击class = "click" 块 弹出 class="pop" 块
②点击class = "page" 块 关闭 class="pop" 块
③点击class = "pop" 块 不关闭任何块

如果用jQuery 鲁莽一点,直接的程序就写出来了

<script>
 $(function(){
   $('.click').click(functon(){
     $('.pop').show();
   });
   $('.page').click(function(){
    $('.pop').hide();
  })
 })
</script>

你这么一闹腾,问题就出来了,当我点击"click"块的时候,妹的,我还没看到弹出层 "pop",瞬间就关闭了,这是为什么呢?因为你点击"click" 的瞬间,触发了两个事件,第一个是 自己本身的点击事件,因为自己的父层也注册了点击事件,那第二个父层的点击事件也被触发了,即所谓的事件冒泡。

我又想保留这两个事件,但又不想出现这样的情况,怎么办,这就是我要说的 阻止事件冒泡。

阻止事件冒泡大致有两种办法:

1)使用 return false;
2)使用 event.stopPropagation();

其实两者的原理差不多,就是屏蔽要冒泡的对象

$(function(){
   $('.click').click(functon(event){
     $('.pop').show();
     event.stopPropagation();
   });
   $('.page').click(function(){
    $('.pop').hide();
  })
})

或者:

$(function(){
   $('.click').click(functon(){
     $('.pop').show();
     return false;
   });
   $('.page').click(function(){
    $('.pop').hide();
  })
})

更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery窗口操作技巧总结》、《jQuery拖拽特效与技巧总结》、《jQuery常用插件及用法总结》、《jquery中Ajax用法总结》、《jQuery表格(table)操作技巧汇总》、《jQuery扩展技巧总结》、《jQuery常见经典特效汇总》、《jQuery动画与特效用法总结》及《jquery选择器用法总结》

希望本文所述对大家jQuery程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索jquery
, div
, 点击
, 打开层
, 其他div
, 关闭层
阻止冒泡
div 阻止滑动事件冒泡、div阻止冒泡、div scroll阻止冒泡、jquery阻止事件冒泡、jquery 阻止冒泡,以便于您获取更多的相关知识。

时间: 2024-10-27 17:18:01

jQuery实现点击某个div打开层,点击其他div关闭层实例分析(阻止冒泡)_jquery的相关文章

javascript弹出层点击任何地方关闭方法

 代码如下 复制代码 <!DOCTYPE html><html><head><meta charset="utf-8" /><title>点击其它地方关闭DIV</title></head> <body><input type="text" value="" id="tf"/><div style="wi

利用JQuery阻止事件冒泡_jquery

冒泡事件就是点击子节点,会向上触发父节点,祖先节点的点击事件. 我们在平时的开发过程中,肯定会遇到在一个div(这个div可以是元素)包裹一个div的情况,但是呢,在这两个div上都添加了事件,如果点击里面的div我们希望处理这个div的事件,但是呢,我们不希望外层的div的事件也执行,这时候我们就要用到阻止冒泡. 通俗点来说吧,你在家里看电视,躲在自己的小房间,但是你不希望声音传到隔壁父母的耳朵里,这时候,你可能躲在被窝里,或者墙壁的隔音效果很好,阻隔声音可以理解为阻止冒泡. <style>

jQuery实现点击按钮弹出可关闭层的浮动层插件_jquery

本文实例讲述了jQuery实现点击按钮弹出可关闭层的浮动层插件.分享给大家供大家参考.具体如下: 这是一款由漫画Jquery弹出层插件改编而来,小鸟Js弹窗插件,按ESC可以关闭窗口.默认不带样式,大家可以根据自己的项目写样式.弹出层代码很小,min版的只1.15k,因为小所以值得应用.希望有网友可以再改进,希望她变得更小. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-close-able-alert-dlg-plug-codes/ 具

jquery使整个div区域可以点击的方法

  本文实例讲述了jquery使整个div区域可以点击的方法.分享给大家供大家参考.具体分析如下: 这里实现可以让用户点击整个div区域,这段代码会自动查找div里的链接 ? 1 2 3 4 $(".myBox").click(function(){ window.location=$(this).find("a").attr("href"); return false; }); Reference HTML: ? 1 2 3 4 <div

jquery使整个div区域可以点击的方法_jquery

本文实例讲述了jquery使整个div区域可以点击的方法.分享给大家供大家参考.具体分析如下: 这里实现可以让用户点击整个div区域,这段代码会自动查找div里的链接 $(".myBox").click(function(){ window.location=$(this).find("a").attr("href"); return false; }); Reference HTML: <div class="myBox&quo

jquery获取相同class的div并绑定点击事件

问题描述 jquery获取相同class的div并绑定点击事件 <div id=""outadded_content""> <div class=""outadded_menu""> <img style=""height:65%;width:80%;"" src=""../image/more.png"" />

非传递状态为-1.问一个问题,如何通过点击链接的不同改变需要显示的div层

问题描述 1.问一个问题,如何通过点击链接的不同改变需要显示的div层 在一个index.jsp上有两个超链接.一个登陆,一个超链接,理想状态下:点击登陆弹出图1,点击我有需求弹出图2. [图1] [图2] 但是根本实现不了,不用传递flag标志位的,应该怎么做,下面是"登陆"."我有需求".和弹出框的代码: 登陆: //登录js $(".header .login").click(function(){ if( $(".login_p

block-有三个div级联,点击第一个地区div里面的地区就把第二个div打开且本身打开,

问题描述 有三个div级联,点击第一个地区div里面的地区就把第二个div打开且本身打开, 有三个div级联,点击第一个地区div里面的地区就把第二个div打开且本身打开, 点击第二个站点div里面的站点,就把第三个要素div打开且本身打开, 并且把第一个地区div关掉.再点击第一个地区div就把站点,要素DIV关掉,以此循环, 刚一进来全部是关闭状态

div-点击DIV外任意地方隐藏此DIV 或点击iframe子页面中隐藏 父页面DIV

问题描述 点击DIV外任意地方隐藏此DIV 或点击iframe子页面中隐藏 父页面DIV <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script src="http://www.p