return、reutrn false、e.preventDefault、e.stopPropagation、e.stopImmediatePropagation的区别
return
var i = function(){
return
}
console.log(i())//undefined
return的主要作用是阻止函数继续执行,直接返回undefined
return false
<a class="baidu" href="http://www.baidu.com">百度</a>
$('.baidu').on('click',function(e){
console.log(1)
return false
})//1
并未跳转页面,当每次调用return false时,实际做了3件事情
1.event.preventDefault();
2.event.stopPropagation();
3.停止回调函数执行并立即返回
e.preventDefault
$('.baidu').on('click',function(e){
console.log(1)
e.preventDefault()
})//1
e.preventDefault()方法用来阻止浏览器继续执行默认行为,这里阻止了页面的跳转
e.stopPropagation
<div class="btn"><a class="baidu" href="http://www.baidu.com">百度</a></div>
$('.btn').on('click', function () {
console.log(520)
})
$('.btn .baidu').on('click', function (e) {
console.log(1)
e.preventDefault()
e.stopPropagation()
})
输出结果为1
e.stopPropagation阻止事件冒泡
e.stopImmediatePropagation
$('.btn .baidu').on('click',function(e){
console.log(1)
e.preventDefault()
})
$('.btn .baidu').on('click',function(e){
console.log(2)
e.preventDefault()
e.stopImmediatePropagation()
})
$('.btn .baidu').on('click',function(e){
e.preventDefault()
console.log(3)
})
$('.btn').on('click',function(e){
e.preventDefault()
console.log(4)
})
点击输出结果为1,2
e.stopImmediatePropagation()会停止一个事件继续执行,即使当前的对象上还绑定了其他处理函数,所有绑定在一个对象上的事件会按照绑定顺序执行
综上所述
return阻止函数继续执行,返回undefined
return false有三个作用,阻止浏览器默认行为,阻止事件冒泡,停止回调函数执行并立即返回
event.preventDefault阻止浏览器默认行为
event.stopPropagation阻止事件冒泡
event.stopImmediatePropagation停止一个事件继续执行,即使当前的对象上还绑定了其他处理函数,所有绑定在一个对象上的事件会按照绑定顺序执行
return、reutrn false、e.preventDefault、e.stopPropagation、e.stopImmediatePropagation的区别的更多相关文章
- jQuery中的 return false, e.preventDefault(), e.stopPropagation()的区别
e.stopPropagation()阻止事件冒泡 <html><head> <title></title> <script sr ...
- jQuery js 中return false,e.preventDefault(),e.stopPropagation()的区别(事件冒泡)
有时候遇到冒泡事件很烦人,真的..... 1.e.stopPropagation()阻止事件冒泡 <head> <title></title> <script ...
- jQuery中return false,e.preventDefault(),e.stopPropagation()的区别
e.stopPropagation()阻止事件冒泡 <head> <title></title> <script src="Scripts/jQue ...
- preventDefault()、stopPropagation()、return false 之间的区别
“return false”之所以被误用的如此厉害,是因为它看起来像是完成了我们交给它的工作,浏览器不会再将我们重定向到href中的链接,表单也不会被继续提交,但这么做到底有什么不对呢? 可能在你刚开 ...
- js中的preventDefault与stopPropagation详解
本篇文章主要是对js中的preventDefault与stopPropagation进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 首先讲解一下js中preventDefault和stopP ...
- js中的preventDefault和stopPropagation
首先讲解一下js中preventDefault和stopPropagation两个方法的区别: preventDefault方法的起什么作用呢?我们知道比如<a href=" ...
- javascript中间preventDefault与stopPropagation角色介绍
preventDefault的作用是什么方法,它? 我们知道,例如,<a href="http://www.baidu.com">百度</a>,这是html ...
- 深入了解preventDefault与stopPropagation
event.preventDefault()用法介绍(阻止默认事件) 该方法将通知 Web 浏览器不要执行与事件关联的默认动作(如果存在这样的动作).例如,如果 type 属性是 "subm ...
- preventDefault 和 stopPropagation
概述 以前开发项目的时候,总是分不清楚 preventDefault 和 stopPropagation,每次都是用 @click.stop试一下,不能就用@click.prevent试一下.今天来好 ...
随机推荐
- easydict的使用方法
easydict的作用:可以使得以属性的方式去访问字典的值 from easydict import EasyDict as edict a=['8',2,3]a=edict()a.f=99print ...
- 工具sublime安装
默认安装后是英文版 view-show console 安装packagecontrol https://packagecontrol.io/installation ctrl+`打开控制台,输入代码 ...
- python学习之:序列类型 之列表,元组,range
列表 列表是可变序列,通常用于存放同类项目的集合(其中精确的相似程度将根据应用而变化). class list([iterable]) 可以用多种方式构建列表: 使用一对方括号来表示空列表: [ ] ...
- JCEF-tab形式展示浏览器
当我们点击target值为_blank的链接时,JCEF默认以弹出窗口的形式打开新页面,要实现tab栏形式,可参考以下步骤 1.创建一个实现CefLifeSpanHandlerAdapter的类,重写 ...
- Cheat Engine 特征码
打开游戏 引用自动注入 搜索特征码 特征码,是游戏运行中,唯一的汇编代码 验证,特征码是游戏中唯一代码 添加特征码 添加特征码,以及金钱只增不减代码 进行激活测试 特征码,只有在游戏过程中才会执行到 ...
- MySQL 如何优化大分页查询?
一 背景 大部分开发和DBA同行都对分页查询非常非常了解,看帖子翻页需要分页查询,搜索商品也需要分页查询.那么问题来了,遇到上千万或者上亿的数据量怎么快速的拉取全量,比如大商家拉取每月千万级别的订单数 ...
- Kafka Streams开发入门(5)
1. 背景 上一篇演示了split操作算子的用法.今天展示一下split的逆操作:merge.Merge算子的作用是把多股实时消息流合并到一个单一的流中. 2. 功能演示说明 假设我们有多个Kafka ...
- HttpUtils请求工具类
package com.cmcc.hybj.payment.framework.https; import java.io.UnsupportedEncodingException;import ja ...
- oracle-常用sql语句和函数
1.求字符串长度 --计算字符串长度的函数 select length('你好世界!') len from dual; 2.常用函数 -- dbms_random.value(1,7) 获取(1,7) ...
- MySQL Transaction--使用SHOW INNODB STATUS 查看未提交事务
当MySQL服务器出现性能问题时,应该优先排查未提交事务,除可以查询相关系统表外,还可以观察SHOW INNODB STATUS的输出结果来确认未提交事务. 首先查看InnoDB事务的History ...