jQuery事件绑定和解绑、事件冒泡与阻止事件冒泡及弹出应用示例


Posted in jQuery onMay 13, 2019

本文实例讲述了jQuery事件绑定和解绑、事件冒泡与阻止事件冒泡及弹出应用。分享给大家供大家参考,具体如下:

事件的绑定和解绑

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <script type="text/javascript" src="../js/jquery-1.12.4.min.js"></script>
  <script type="text/javascript">
    $(function () {
      $('#div1').bind('mouseover click',function (event) {//绑定事件:移动到div块上和点击
        alert($(this).html);
        $(this).unbind('mouseover');//取消鼠标移动到上面的事件
      })
    })
  </script>
  <style type="text/css">
    #div1{
      background-color: #f6b544;
      width: 100px;
      height: 100px;
    }
  </style>
</head>
<body>
  <div id="div1">
  </div>
</body>
</html>

绑定事件:移动到div块上和点击

解绑事件:取消鼠标移动到上面的事件

事件冒泡-阻止事件冒泡

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <script type="text/javascript" src="../js/jquery-1.12.4.min.js"></script>
  <script type="text/javascript">
    $(function () {
      $('.son').click(function () {
        alert(1);
      });
      $('.father').bind('click',function () {
        alert(2);
      });
      $('.grandfather').bind('click',function () {
        alert(3);
      });
    })
  </script>
  <style type="text/css">
    .grandfather{
      width: 300px;
      height: 300px;
      background-color: green;
    }
    .father{
      width: 200px;
      height: 200px;
      background-color: gold;
    }
    .son{
      width: 100px;
      height: 100px;
      background-color: red;
    }
  </style>
</head>
<body>
  <div class="grandfather">
    <div class="father">
      <div class="son">
      </div>
    </div>
  </div>
</body>
</html>

定义了三个div,在son点击一下弹出1,father点击一下弹出2,grandfather点击一下弹出3,如果我们点击son一下,那么会依次弹出123,点击father一下会依次弹出二三。

按照标签往上传到它的父级

事件冒泡有时候不需要,需要阻止,通过eventstopPropagation()来阻止

$('.son').click(function (event) {//event就是一个事件对象
  //用这个事件对象就能使用事件对象的方法
  alert(1);
  event.stopPropagation();//阻止事件对象冒泡
});

除了阻止事件冒泡,还要阻止一些默认行为,开发中直接return false就行。

$('.father').bind('click',function () {
  alert(2);
  //阻止事件冒泡和阻止默认行为的同意写法
  return false;
});

弹框

点击弹框外面关闭弹框

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <script type="text/javascript" src="../js/jquery-1.12.4.min.js"></script>
  <script type="text/javascript">
    $(function () {
      $('#btn').click(function () {
         // alert(2);
         $('.pop_con').fadeIn();
         // alert(1);
        return false;//阻止事件,冒泡
      });
      $(document).click(function () {
        $('.pop_con').fadeOut();
      })
    })
  </script>
</head>
<style type="text/css">
  .pop{
    position: fixed;
    width: 500px;
    height: 300px;
    background-color: #fff;
    border: 3px solid #000;
    left: 50%;
    top: 50%;
    margin-left: -250px;
    margin-top: -150px;/*拉回去*/
    z-index: 2;
  }
  .mask{
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: #000000;
    opacity: 0.3;
    filter:alpha(opacity=30);/*兼容ie浏览器的*/
    left: 0;
    top: 0;
    z-index: 1;/*z-index设置现实层级*/
  }
  .pop_con{
    display: none;/*因为pop_con包含住了mask和pop,所以设置了这个之后,他们就隐藏了*/
  }
</style>
<body>
  <input type="button" name="" value="弹出" id="btn">
  <div class="pop_con">
    <div class="pop">
      弹框里面的文字
    </div>
    <div class="mask"></div>
  </div>
</body>
</html>

如果不组织事件冒泡的话,点击之后,弹框出现之后,就会直接隐藏,只有阻止之后,才能点击外框的document或者mask才能隐藏弹框。

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

jQuery 相关文章推荐
jQuery自定义图片上传插件实例代码
Apr 04 jQuery
原生js jquery ajax请求以及jsonp的调用方法
Aug 04 jQuery
使用jQuery实现鼠标点击左右按钮滑动切换
Aug 04 jQuery
jquery-file-upload 文件上传带进度条效果
Nov 21 jQuery
jQuery+CSS实现的table表格行列转置功能示例
Jan 08 jQuery
jQuery与vue实现拖动验证码功能
Jan 30 jQuery
jQuery中的类名选择器(.class)用法简单示例
May 14 jQuery
javascript异步处理与Jquery deferred对象用法总结
Jun 04 jQuery
jQuery表单选择器用法详解
Aug 22 jQuery
Jquery高级应用Deferred对象原理及使用实例
May 28 jQuery
jQuery实现放大镜案例
Oct 19 jQuery
如何在vue 中引入使用jquery
Nov 10 jQuery
使vue实现jQuery调用的两种方法
May 12 #jQuery
jquery3和layui冲突导致使用layui.layer.full弹出全屏iframe窗口时高度152px问题
May 12 #jQuery
jQuery实现动态生成年月日级联下拉列表示例
May 11 #jQuery
详解jQuery如何实现模糊搜索
May 10 #jQuery
Easyui 去除jquery-easui tab页div自带滚动条的方法
May 10 #jQuery
jquery登录的异步验证操作示例
May 09 #jQuery
jQuery动态生成的元素绑定事件操作实例分析
May 04 #jQuery
You might like
PHP实现递归无限级分类
2015/10/22 PHP
索趣科技的答案
2007/02/07 Javascript
js身份证验证超强脚本
2008/10/26 Javascript
使用insertAfter()方法在现有元素后添加一个新元素
2014/05/28 Javascript
node.js中的fs.linkSync方法使用说明
2014/12/15 Javascript
轻松创建nodejs服务器(5):事件处理程序
2014/12/18 NodeJs
基于javascript实现全屏漂浮广告
2016/03/31 Javascript
利用Angularjs和Bootstrap前端开发案例实战
2016/08/27 Javascript
jquery实现文本框的禁用和启用
2016/12/07 Javascript
从零开始学习Node.js系列教程四:多页面实现的数学运算示例
2017/04/13 Javascript
JavaScript实现简单生成随机颜色的方法
2017/09/21 Javascript
javascript匿名函数中的'return function()'作用
2018/10/15 Javascript
基于element-ui组件手动实现单选和上传功能
2018/12/06 Javascript
vue 二维码长按保存和复制内容操作
2020/09/22 Javascript
vue+element UI实现树形表格
2020/12/29 Vue.js
[07:43]《辉夜杯》公开赛晋级外卡赛战队—TRG训练生活探秘
2015/12/11 DOTA
Python3实现的腾讯微博自动发帖小工具
2013/11/11 Python
python编写的最短路径算法
2015/03/25 Python
numpy中的高维数组转置实例
2018/04/17 Python
ipython和python区别详解
2019/06/26 Python
python opencv 实现读取、显示、写入图像的方法
2020/06/08 Python
业务代表的岗位职责
2013/11/16 职场文书
行政人员工作职责
2013/12/05 职场文书
护士自我介绍信
2014/01/13 职场文书
医药个人求职信范文
2014/01/29 职场文书
幼儿园大班毕业感言
2014/02/06 职场文书
《桃花心木》教学反思
2014/02/17 职场文书
经理助理岗位职责
2014/03/05 职场文书
2014年加油站站长工作总结
2014/12/23 职场文书
初中成绩单评语
2014/12/29 职场文书
公司会议开幕词
2015/01/29 职场文书
2015关于重阳节的演讲稿
2015/03/20 职场文书
女性健康讲座主持词
2015/07/04 职场文书
会议新闻稿
2015/07/17 职场文书
高考要来啦!用Python爬取历年高考数据并分析
2021/06/03 Python
一篇文章搞懂python混乱的切换操作与优雅的推导式
2021/08/23 Python