js return false\e.preventDefault() 以及session
@{
ViewBag.Title = "Test";
}
<h2>Test</h2>
区别的介绍
<br/>
我们在平时的编码中javascript中经常会用到[return false;]语句来阻止事件的向上传递,其实[return false;]语句包含了2层意思:
阻止触发事件的元素的默认动作(比如说一个link(<a href="http://www/baidu.com"></a>),它的默认动作就是迁移到baidu首页)
阻止触发事件的元素向上传递事件
由于[return false;]包含了2个意思,所以在使用时首先要明确上面的2个阻止是否符合我们的预期。
如果我们在只想阻止元素的默认动作或者只想阻止元素向上传递事件的情况下误用了[return false;]的话,
那么在大量的代码中就很难调试出问题的所在了。
在javascript中其实有相应的函数分别实现上面的2个阻止,分别是:
event.preventDefault() 阻止触发事件的元素的默认动作
event.stopPragation() 阻止触发事件的元素向上传递事件
<br/>
以下2个button 提交一样结果
@using(Html.BeginForm())
{
<input type="text" name="id" id="id" />
<button type="submit" id="btnSubmit1">登录1</button>
<button type="submit" id="btnSubmit2" onclick="return testSubmit()">登录2</button>
}
@section Script
{
<script>
$('#btnSubmit1').click(function(e) {
e.preventDefault(); //禁止执行默认事件,即form提交
var id = $('#id').val();
if (id == null || id <= 0) {
alert("id未输入或小于等于0!");
} else {
$("form").submit(); //js form提交
}
});
function testSubmit() {
var id = $('#id').val();
if (id == null || id <= 0) {
alert("id未输入或小于等于0!");
return false; //onclick="return testSubmit()",返回false 禁止执行默认事件、禁止向上传递
} else {
return true; //返回false 允许执行默认事件、允许向上传递
}
}
</script>
}
2.session
同一个浏览器,在session未过期内,都显示唯一值。
string sessionId = Session.SessionID;
if (Session["acc"] == null)
{
Session["acc"] = "nlh";
return new ContentResult() {Content = sessionId + ",acc is empty,and add now"};
}
else
{
return new ContentResult() {Content = sessionId + ",acc value:" + Session["acc"].ToString()};
}
js return false\e.preventDefault() 以及session的更多相关文章
- 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 ...
- JS return false 与 return true
在大多数情况下,为事件处理函数返回false,可以防止默认的事件行为.例如,默认情况下点击一个<a>元素,页面会跳转到该元素href属性指定的页. Return False 就相当于终止符 ...
- js的stopPropagation()、cancelBubble、preventDefault()、return false的分析
个人笔记,如有错误,望指出. 事件冒泡,举个列子: <li> <a href='http://www.baidu.com'>点击a</a> </li> ...
- 关于js中return false、event.preventDefault()和event.stopPropagation()
在平时项目中,如果遇到需要阻止浏览器默认行为,大家经常会用return false;和event.preventDefault()来阻止,但对它俩的区别还是有些一知半解,于是看了文档,查了些资料,在此 ...
- preventDefault()、stopPropagation()、return false 之间的区别
“return false”之所以被误用的如此厉害,是因为它看起来像是完成了我们交给它的工作,浏览器不会再将我们重定向到href中的链接,表单也不会被继续提交,但这么做到底有什么不对呢? 可能在你刚开 ...
- 【转】stopPropagation, preventDefault 和 return false 的区别
因为有父, 子节点同在, 因为有监听事件和浏览器默认动作之分. 使用 JavaScript 时为了达到预期效果经常需要阻止事件和动作执行. 一般我们会用到三种方法, 分别是 stopPropagat ...
- stopPropagation, preventDefault 和 return false 的区别
因为有父, 子节点同在, 因为有监听事件和浏览器默认动作之分. 使用 JavaScript 时为了达到预期效果经常需要阻止事件和动作执行. 一般我们会用到三种方法, 分别是 stopPropagati ...
随机推荐
- Ansible 使用普通用户远程执行playbook
设置ansible使用普通用户jsxge远程连接执行playbook 1. ansible控制端创建普通用户jsxgecd /homeuseradd jsxgechown -R jsxge.wheel ...
- Windows 7 设置允许多用户同时远程桌面连接
有时候我们服务器安装的是Win7系统,远程登录桌面时,即使登录的是不同的管理账号,还是会提示把远程登录的人给踢下来.即系统只允许存在一个远程会话窗,不管是不是相同的用户. 下面讲解如何设置Win7让多 ...
- 【转】Centos7安装nodejs
下载及安装步骤: cd /usr/local wget https://nodejs.org/dist/v8.11.2/node-v8.11.2-linux-x64.tar.xz tar xvf no ...
- zookeeper频繁异常问题分析
Reference: https://blog.csdn.net/xjping0794/article/details/77784171 1.1 操作系统信息1.1.1 ...
- asp.net ashx一般处理程序实现async await异步操作
目前项目存在页面展示大量图片,效率不高,考虑优化性能,改为ashx+异步下载的方式,废话不说直接贴code: using System; using System.Web; using System. ...
- Mysql 查询decimal 引号‘’增加精度
sql 通过decimal条件查询添加和不添加引号的区别 SELECT * FROM meta_variable WHERE DataTableID = 123456 # decimal类型 AND ...
- linq 把list分组为 List<List>
public class User { public int UserID { get; set; } public string UserName { get; set; } public int ...
- 字符串时间与Unix时间戳相互转换
字符串时间与Unix时间戳相互转换 /** * @Author: wangkun * @Date : 2016/1/21 13:43 * @Description : 字符串时间转换为Unix时间戳 ...
- plsql与64位的Oracle关联方法
在这里吐槽一下,plsql居然木有64位的,以前居然不知道,好久没用Oracle了,想练习一下,方法如下: 1.安装Oracle,官网都有,这里不细说了,我选的是64的Oracle安装的. 2.下载p ...
- Implementing HTTPS Everywhere in ASP.Net MVC application.
Implementing HTTPS Everywhere in ASP.Net MVC application. HTTPS everywhere is a common theme of the ...