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+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
Jun 09 jQuery
运用jQuery写的验证表单(实例讲解)
Jul 06 jQuery
基于Jquery Ajax type的4种类型(详解)
Aug 02 jQuery
jQuery Easyui Treegrid实现显示checkbox功能
Aug 08 jQuery
jQuery Collapse1.1.0折叠插件简单使用
Aug 28 jQuery
详解jQuery中的isPlainObject()使用方法
Feb 27 jQuery
jQuery 实现倒计时天,时,分,秒功能
Jul 31 jQuery
jQuery实现动态添加和删除input框代码实例
Mar 29 jQuery
JQuery属性操作与循环用法示例
May 15 jQuery
jQuery实现的图片点击放大缩小功能案例
Jan 02 jQuery
jquery绑定事件 bind和on的用法与区别分析
May 22 jQuery
jQuery实现异步上传一个或多个文件
Aug 17 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
ADODB结合SMARTY使用~超级强
2006/11/25 PHP
实现PHP+Mysql无限分类的方法汇总
2015/03/02 PHP
PHP简单遍历对象示例
2016/09/28 PHP
Javascript 通过json自动生成Dom的代码
2010/04/01 Javascript
由JavaScript技术实现的web小游戏(不含网游)
2010/06/12 Javascript
jquery队列queue与原生模仿其实现方法分享
2014/03/25 Javascript
Node.js中的事件驱动编程详解
2014/08/16 Javascript
node.js中的fs.statSync方法使用说明
2014/12/16 Javascript
nodejs批量修改文件编码格式
2015/01/22 NodeJs
实现高性能JavaScript之执行与加载
2016/01/30 Javascript
详解AngularJS控制器的使用
2016/03/09 Javascript
jQuery解决浏览器兼容性问题案例分析
2016/04/15 Javascript
学习Node.js模块机制
2016/10/17 Javascript
JS产生随机数的用法小结
2016/12/10 Javascript
Vue.js结合Ueditor富文本编辑器的实例代码
2017/07/11 Javascript
实例详解带参数的 npm script
2019/05/28 Javascript
多个Vue项目部署到服务器的步骤记录
2020/10/22 Javascript
python实现带错误处理功能的远程文件读取方法
2015/04/29 Python
利用Python自动监控网站并发送邮件告警的方法
2016/08/24 Python
用Python设计一个经典小游戏
2017/05/15 Python
Python操作csv文件实例详解
2017/07/31 Python
Python输入二维数组方法
2018/04/13 Python
python处理自动化任务之同时批量修改word里面的内容的方法
2019/08/23 Python
python实现小世界网络生成
2019/11/21 Python
如何验证python安装成功
2020/07/06 Python
用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案
2021/03/03 Python
Lookfantastic瑞典:英国知名美妆购物网站
2018/04/06 全球购物
美国新娘礼品店:The Paisley Box
2020/09/08 全球购物
巡警年度自我鉴定
2014/02/21 职场文书
计算机毕业生自荐信范文
2014/03/23 职场文书
投标人法定代表人授权委托书格式
2014/09/28 职场文书
停电通知范文
2015/04/16 职场文书
《陶罐和铁罐》教学反思
2016/03/03 职场文书
go goroutine 怎样进行错误处理
2021/07/16 Golang
MySQL高级进阶sql语句总结大全
2022/03/16 MySQL
Go web入门Go pongo2模板引擎
2022/05/20 Golang