zoukankan      html  css  js  c++  java
  • jquery,禁止冒泡和默认行为

    如果在页面中重叠了多个元素,并且重叠的这些元素都绑定了同一个事件,那么就会出
    现冒泡问题。
    //HTML 页面
    <div style="200px;height:200px;background:red;">
    <input type="button" value="按钮" />
    </div>
    //三个不同元素触发事件
    $('input').click(function () {
    alert('按钮被触发了!');
    });
    $('div').click(function () {
    alert('div 层被触发了!');
    });
    $(document).click(function () {
    alert('文档页面被触发了!');
    });
    注意:当我们点击文档的时候,只触发文档事件;当我们点击 div 层时,触发了 div 和
    文档两个;当我们点击按钮时,触发了按钮、div 和文档。触发的顺序是从小范围到大范围。
    这就是所谓的冒泡现象,一层一层往上。
    jQuery 提供了一个事件对象的方法:event.stopPropagation();这个方法设置到需要触发
    的事件上时,所有上层的冒泡行为都将被取消。
    $('input').click(function (e) {
    alert('按钮被触发了!');
    e.stopPropagation();
    });
    网页中的元素,在操作的时候会有自己的默认行为。比如:右击文本框输入区域,会弹
    出系统菜单、点击超链接会跳转到指定页面、点击提交按钮会提交数据。
    $('a').click(function (e) {
    e.preventDefault();
    });
    //禁止提交表单跳转
    $('form').submit(function (e) {
    e.preventDefault();
    });
    注意:如果想让上面的超链接同时阻止默认行为且禁止冒泡行为,可以把两个方法同时
    写上:event.stopPropagation()和 event.preventDefault()。这两个方法如果需要同时启用的时候,
    还有一种简写方案代替,就是直接 return false。
    $('a').click(function (e) {
    return false;
    });

  • 相关阅读:
    Java并发之同步原语
    Iterator与ListIterator的区别
    java集合之深入分析ArrayList
    深入分析HashMap
    ssm项目,web容器无法初始化项目
    疯狂java学习笔记
    Delphi 转载:图形的移动、交错、雨滴状、百页窗、积木堆叠等显现方式
    Delphi 转载:Delphi 如何GET/POST 调用HTTP请求
    Delphi 界面和组件背景透明相关方法
    Delphi 把Form界面设置有弧度的矩形
  • 原文地址:https://www.cnblogs.com/keyi/p/6089581.html
Copyright © 2011-2022 走看看