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 相关文章推荐
JavaScript使用链式方法封装jQuery中CSS()方法示例
Apr 07 jQuery
一个有意思的鼠标点击文字特效jquery代码
Sep 23 jQuery
解决JQuery全选/反选第二次失效的问题
Oct 11 jQuery
jQuery Datatables表头不对齐的解决办法
Nov 27 jQuery
基于jQuery Ajax实现下拉框无刷新联动
Dec 06 jQuery
jQuery进阶实践之利用最优雅的方式如何写ajax请求
Dec 20 jQuery
CSS3结合jQuery实现动画效果及回调函数的实例
Dec 27 jQuery
用jquery获取select标签中选中的option值及文本的示例
Jan 25 jQuery
jQuery实现百度图片移入移出内容提示框上下左右移动的效果
Jun 05 jQuery
jQuery判断自定义属性data-val用法示例
Jan 07 jQuery
使用JQuery自动完成插件Auto Complete详解
Jun 18 jQuery
jQuery实现移动端下拉展现新的内容回弹动画
Jun 24 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
jq的get传参数在utf-8中乱码问题的解决php版
2008/07/23 PHP
smarty的保留变量问题
2008/10/23 PHP
Yii中表单用法实例详解
2016/01/05 PHP
浅谈PHP检查数组中是否存在某个值 in_array 函数
2016/06/13 PHP
php实现评论回复删除功能
2017/05/23 PHP
php实现银联商务公众号+服务窗支付的示例代码
2019/10/12 PHP
Javascript 面向对象 命名空间
2010/05/13 Javascript
js 判断脚本加载完毕的代码
2011/07/13 Javascript
JQuery+DIV自定义滚动条样式的具体实现
2013/06/25 Javascript
JS判断数组中是否有重复值得三种实用方法
2013/08/16 Javascript
JS实现控制表格只显示行边框或者只显示列边框的方法
2015/03/31 Javascript
jQuery的animate函数实现图文切换动画效果
2015/05/03 Javascript
纯JavaScript代码实现移动设备绘图解锁
2015/10/16 Javascript
JavaScript入门系列之知识点总结
2016/03/24 Javascript
Bootstrap编写导航栏和登陆框
2016/05/30 Javascript
Bootstrap模态框水平垂直居中与增加拖拽功能
2016/11/09 Javascript
在vue中实现点击选择框阻止弹出层消失的方法
2018/09/15 Javascript
webpack4.x CommonJS模块化浅析
2018/11/09 Javascript
JavaScript模板引擎实现原理实例详解
2018/12/14 Javascript
Vue Components 数字键盘的实现
2019/09/18 Javascript
关于vue3默认把所有onSomething当作v-on事件绑定的思考
2020/05/15 Javascript
鸿蒙系统中的 JS 开发框架
2020/09/18 Javascript
Python splitlines使用技巧
2008/09/06 Python
python实现的一个火车票转让信息采集器
2014/07/09 Python
从局部变量和全局变量开始全面解析Python中变量的作用域
2016/06/16 Python
python使用opencv读取图片的实例
2017/08/17 Python
浅谈Python中带_的变量或函数命名
2017/12/04 Python
python-numpy-指数分布实例详解
2019/12/07 Python
Android本地应用打开方法——通过html5写连接
2016/03/11 HTML / CSS
HTML5本地存储之Database Storage应用介绍
2013/01/06 HTML / CSS
实习推荐信
2014/05/10 职场文书
六查六看剖析材料
2014/10/06 职场文书
2015年个人自我剖析材料
2014/12/29 职场文书
2015公司年度工作总结
2015/05/14 职场文书
参观监狱警示教育心得体会
2016/01/15 职场文书
PHP策略模式写法
2021/04/01 PHP