(O)阻止默认事件和阻止冒泡的应用场景

时间:2023-01-25 15:57:43

场景1:阻止默认事件
   比如这样的一个需求 点击取消a标签按钮的时候会触发一些js动作,但是不能让这个a标签产生跳转行为,

所以需要在点击取消的时候 阻止冒泡,防止其跳转。

<a id='cancelBtn' href="https://www.baidu.com">取消按钮</a>
<script>
document.getElementById("cancelBtn").addEventListener("click",function(e){
    e.preventDefault();
    alert("点击了");
});
</script>

场景2:阻止冒泡
   比如最简单的弹出层:当点击提交按钮的时候提交信息,当点击弹出层周边的空白区域的时候取消遮罩。但

是因为存在事件冒泡机制,点击提交按钮时,点击事件会冒泡到div弹出层,以致遮罩层自动取消,这时我们就

应当阻止事件冒泡了。

<div id="dialog">
<span id="submit">确定</span>
</div>
<script>
$("#submit").on("click",function(e){
e.stopPropagation(); //阻止冒泡,防止冒泡到document层
...
});
$(document).on("click",function(e){
if($(e.target).closest("#dialog").length == 0){
$("#dialog").hide();
}
})
</script>

小结:
  1.阻止事件冒泡,但不阻止默认行为。如 stopPropagation 或 cancelBubble等。
  2.阻止默认行为,但不阻止事件冒泡。如 preventDefault 方法。
  3.同时阻止事件冒泡和默认行为。直接 return false 即可。

转载请注明文章出处:http://www.cnblogs.com/jacksplwxy/p/6651964.html

(O)阻止默认事件和阻止冒泡的应用场景的更多相关文章

  1. DOM2级事件对象、添加事件、阻止默认事件、阻止冒泡事件、获取事件对象目标的兼容处理

    事件对象——兼容处理 /* * 功能: 事件对象兼容 * 参数: 表示常规浏览器的事件对象e */ function getEvent(e) { // 如果存在e存在,直接返回,否则返回window. ...

  2. javascript的阻止默认事件和阻止冒泡事件

    这两个方面的知识,在妙味课堂中有听过,再次复习一下: 原文来自:[http://www.cnblogs.com/Essence/p/4266618.html] 事件冒泡与默认行为   在说事件冒泡之前 ...

  3. s事件之event&period;preventDefault&lpar;&rpar;与event&period;stopPropagation&lpar;&rpar;的阻止默认事件和阻止事件冒泡的用法

    event.preventDefault()用法介绍 该方法将通知 Web 浏览器不要执行与事件关联的默认动作(如果存在这样的动作).例如,如果 type 属性是 "submit" ...

  4. 在javascript中的浏览器兼容问题以及兼容浏览器汇总(默认事件,阻止冒泡,事件监听。。。)以及解决方式详解

    在javascript中常见的浏览器兼容问题,以及解决方式. 在前端工作当中我们遵循这样的原则:渐进增强和优雅降级   渐进增强(progressive enhancement): 针对低版本浏览器进 ...

  5. JavaScript事件:事件处理模型&lpar;冒泡、捕获&rpar;、取消冒泡、阻止默认事件

    (一)事件处理模型---事件冒泡.捕获 (1)事件冒泡 24 <body> 25 <div class="warpper"> 26 <div clas ...

  6. 阻止事件冒泡,阻止默认事件,event&period;stopPropagation&lpar;&rpar;和event&period;preventDefault&lpar;&rpar;,return fal的区别

    今天来看看前端的冒泡和事件默认事件如何处理 1.event.stopPropagation()方法 这是阻止事件的冒泡方法,不让事件向documen上蔓延,但是默认事件任然会执行,当你掉用这个方法的时 ...

  7. js之阻止事件冒泡&lpar;待修改&rpar;和阻止默认事件

    阻止默认事件(event.stopPropagation()): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional// ...

  8. javascript 阻止事件冒泡和阻止默认事件对比

    公司项目有像上图中效果的功能需求这也是很常见功能很简单功能,通过一个小例子和大家聊聊js的事件冒泡和默认事件. 先说说一般的实现方式即使用阻止事件冒泡的方式去做,给input绑定一个click事件(并 ...

  9. JS 之 阻止事件冒泡,阻止默认事件,event&period;stopPropagation&lpar;&rpar;和event&period;preventDefault&lpar;&rpar;,return false的区别

    在前端开发中,有时我们需要阻止冒泡和阻止默认事件的发生. 一.event.stopPropagation() 阻止事件的冒泡,不让事件向documen上蔓延,但是默认事件任然会执行,当调用这个方法的时 ...

随机推荐

  1. Communications link failure的解决办法

    使用Connector/J连接MySQL数据库,程序运行较长时间后就会报以下错误: Communications link failure,The last packet successfully r ...

  2. Android WebView 开发详解&lpar;二&rpar;

    转载请注明出处  http://blog.csdn.net/typename/article/details/39495409 powered by miechal zhao   概览: Androi ...

  3. linux 常用压缩工具快速指南

    .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ——————————————— .gz 解压 ...

  4. Redis Clients Handling

    This document provides information about how Redis handles clients from the point of view of the net ...

  5. JavaScript实现获取table中某一列的值

    JavaScript实现获取table中某一列的值 1.实现源代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional/ ...

  6. iOS开发人员必看的精品资料(100个)

    目录下载地址:http://down.51cto.com/data/416672 附件预览如下: iOS游戏开发之Unity3D引擎系列 http://down.51cto.com/zt/399 iP ...

  7. c&plus;&plus;实现一个小算法

    题目:有n个格子,每个格子里有坦克,坦克有两滴血,你向格子里投掷炸弹,每次命中坦克他掉一滴血并随机像左或者右移动一个格子,问最少炸几次能把全部坦克炸完. 题解:先向偶数格子投掷炸弹,所有的坦克全跑到奇 ...

  8. Linux下的&sol;etc&sol;hosts文件

    在Unix系统下面有一个/etc/hosts文件,在我的Mac上,这个文件的内容如下: ## # Host Database # # localhost is used to configure th ...

  9. Android之Gallery和Spinner-Android学习之旅(二十九)

    Spinner简介 spinner是竖直方向展开一个列表供选择.和gallery都是继承了AbsSpinner,AbsSpinner继承了AdapterView,因此AdaptyerView的属性都可 ...

  10. JavaScript常用的事件模型

    一.事件绑定模型 DOM0事件模型 1.内联模型(行内绑定):将函数名直接作为HTML标签中事件属性的属性值 <button id="btn" onclick="f ...