前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版

JavaScript之事件的中断传播与行为阻止

首页2016-07-27 11:50:43Front-End
JavaScript
  • 如何中断事件的传播?
    • stopPropagation() w3c 取消冒泡
    • cancleBubble = true IE取消冒泡
  • 取消事件默认效果:

    • returnValue = false IE 取消事件效果
    • defaultPrevent() w3c取消事件效果

	<div id='aa'>
		<div id='bb'>
			<div id ='cc'></div>
		</div>
	</div>
@前端进阶之旅: 代码已经复制到剪贴板
		#aa{
   		width: 600px;
   		height: 600px;
   		background: gray;
   	}
   	#bb{
   		width: 400px;
   		height: 400px;
   		background: green;
   	}
   	#cc{
   		width: 200px;
   		height: 200px;
   		background: red;
   	}
@前端进阶之旅: 代码已经复制到剪贴板
  • 捕捉写法停止传播 从最顶层开始往下
document.getElementById('aa').addEventListener('click',function (ev){alert('aa');ev.stopPropagation();},true);// 结果捕捉到aa 加true 由冒泡变为捕捉 从上到下
	document.getElementById('bb').addEventListener('click',function (){alert('bb')},true);
	document.getElementById('cc').addEventListener('click',function (){alert('cc')},true);
@前端进阶之旅: 代码已经复制到剪贴板
  • 冒泡写法停止传播 从下往上
document.getElementById('aa').addEventListener('click',function (){alert('aa');});//加true 由冒泡变为捕捉 从上到下
	document.getElementById('bb').addEventListener('click',function (){alert('bb')});
	document.getElementById('cc').addEventListener('click',
	function (ev){
	alert('cc');
	ev.stopPropagation();
	// ev.cancleBubble = true;//IE下 取消冒泡方法
	}); //结果是冒出cc 停止传播
}
@前端进阶之旅: 代码已经复制到剪贴板

  • 取消事件效果

    • returnValue = false //IE 取消事件效果
    • preventDefault() //w3c取消事件效果
	document.getElementsByTagName('a')[0].onclick = function (ev){
		alert('点击');
		//达到事件结束的效果 但是函数还是往下运行
		//
		ev.preventDefault();
		alert('已经拦截');

	}
@前端进阶之旅: 代码已经复制到剪贴板
fe

← jQuery与原生JS的DOM操作对比JavaScript-DOM事件 →