博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript 事件冒泡机制
阅读量:2235 次
发布时间:2019-05-09

本文共 653 字,大约阅读时间需要 2 分钟。

       html的DOM是层级包含关系的,比如嵌套的DIV,如果三个DIV都绑定了事件的话,最内层的DIV的事件触发会导致父级DIV所绑定的事件的触发,就像湖水里面底层的气泡在从底部到湖面会触发各个深度的事件一样。html的DOM的这种机制有时候会给我们带来麻烦,因为我只是希望我所操作的那个对象的事件触发,而并不希望他的父级对象的事件触发,对于这种情况下,我们可以通过代码在某个层级上来阻止事件继续冒泡,这样的话哪些我们不希望触发事件的那些对象的事件就不会触发了。

       下面的例子中有三个DIV,最外层是DIV1,中间是DIV2,最内层是DIV3,如果不采取措施去阻止冒泡机制的话,DIV3的点击会触发DIV2及DIV1的事件触发。例子的页面代码如下,这里是Razor的语言的页面。

@{    Layout = null;}
DIV1
DIV2
DIV3

页面运行效果如下:

当我们点击DIV3时,我们会发现依次弹出DIV23,DIV2,DIV1

那么如何阻止冒泡呢?我们修改DIV2的事件如下:

$("#div2").click(function (event) {      //result += "[div2]";      event.stopPropagation();      alert("div2");});

这时候只会弹出DIV3和DIV2

这样DIV1的事件就不会触发了,阻止了冒泡。

你可能感兴趣的文章
phpStudy安装yaf扩展
查看>>
密码 加密 加盐 常用操作记录
查看>>
TP 分页后,调用指定页。
查看>>
Oracle数据库中的(+)连接
查看>>
java-oracle中几十个实用的PL/SQL
查看>>
PLSQL常用方法汇总
查看>>
几个基本的 Sql Plus 命令 和 例子
查看>>
PLSQL单行函数和组函数详解
查看>>
Oracle PL/SQL语言初级教程之异常处理
查看>>
Oracle PL/SQL语言初级教程之游标
查看>>
Oracle PL/SQL语言初级教程之操作和控制语言
查看>>
Oracle PL/SQL语言初级教程之过程和函数
查看>>
Oracle PL/SQL语言初级教程之表和视图
查看>>
Oracle PL/SQL语言初级教程之完整性约束
查看>>
PL/SQL学习笔记
查看>>
如何分析SQL语句
查看>>
结构化查询语言(SQL)原理
查看>>
SQL教程之嵌套SELECT语句
查看>>
日本語の記号の読み方
查看>>
计算机英语编程中一些单词
查看>>