如何禁止按回车键提交表单
类别:Web前端 浏览量:3933
时间:2013-10-8 如何禁止按回车键提交表单
如何禁止按回车键提交表单
Asp.Net 的 WebForm 中光标在文本框时按回键默认就会提交表单,多数时候确实带来了很好的用户体验,输入数据后,手不用离开键去乱摸鼠标就能完成表单的提交。但总有例外不想要这种默认行为,一定有的,你遇到了就知道的,比如想在文本框中回车做别的事情,那就要点技巧的。
很多人可能会告诉你对文本框加个事件,回车的时候把 keyCode 由 13 变为 9(其实 keyCode 变为 9 是使回车相当于 Tab 键的功能),不过还未完事,你并没有阻止事态进一步蔓延,Form 还是提交了。
$(document).ready(function() {
$("#txt").keypress(function(event) {
if (event.keyCode == 13) {
event.keyCode = 9;
//do some of your things
}
});
});
其实你要了稍加解浏览器的冒泡的事件模型,知道怎么适时的阻止浏览器的默认行为,就会很容易解决这样的问题,在前端开发工作中,由于浏览器兼容性等问题,我们会经常用到“停止事件冒泡”和“阻止浏览器默认行为”。
1..停止事件冒泡
//如果提供了事件对象,则这是一个非IE浏览器
if ( e && e.stopPropagation )
//因此它支持W3C的stopPropagation()方法
e.stopPropagation();
else
//否则,我们需要使用IE的方式来取消事件冒泡
window.event.cancelBubble = true;
return false;
2.阻止浏览器的默认行为
//如果提供了事件对象,则这是一个非IE浏览器
if ( e && e.preventDefault )
//阻止默认浏览器动作(W3C)
e.preventDefault();
else
//IE中阻止函数器默认动作的方式
window.event.returnValue = false;
return false;
这里就是要在文本框的键盘事件中当回车时阻止浏览器的下一步默认行为,高版本的浏览器都趋于规范化了,所以可以 IE7 及以上版本或其他的浏览器中都可以用 e.preventDefault(); 方法了。在你的网页中为文本框附加下面代码就行了:
$(document).ready(function() { $("#txt").keypress(function(event) { if (event.keyCode == 13) { event.preventDefault(); //do some of your things } }); });
您可能感兴趣
- 如何判断数据是json还是字符串(JSON.stringify的多种用法总结)
- js的replace的用法
- python pdf文件操作(Python常见读写文件操作实例总结文本、json、csv、pdf等)
- js里咋样设置css里面的属性(css不常见属性之pointer-events的使用方法)
- 最全js面试题(JavaScript必看的10道面试题总结推荐)
- chrome调试js
- vue怎么定义router的动态路由(vue.js Router中嵌套路由的实用示例)
- vue 富文本图片上传(vue.js云存储实现图片上传功能)
- js函数对象
- js实现网页特效(利用原生js模拟直播弹幕滚动效果)
- pythonjson格式化原理(详解pythonstr与json类型转换)
- js开发工具图解(浅谈前端JS沙箱实现的几种方式)
- js编写一个数组去重的方法(JS实现数组过滤从简单到多条件筛选)
- 常用的几种jsp开发环境搭建(怎么一键安装Jsp网站程序?Jsp环境一键配置软件JspStudy推荐)
- html和js代码结合(JS、CSS和HTML实现注册页面)
- js数字时钟编程(JavaScript实现动态数字时钟)
- 袁冰妍终于接到新剧,饰演反追男主,看到合作演员 眼光果然毒辣(袁冰妍终于接到新剧)
- 记忆中的台词(记忆中的台词)
- 袁冰妍轧戏 拍《琉璃》的同时还在拍《将夜》,难怪被骂演技差(拍琉璃的同时还在拍将夜)
- 刚红就耍大牌,《琉璃》角色滤镜碎一地,心疼工作人员(琉璃角色滤镜碎一地)
- 袁冰妍郑业成这对可以处,有脸红情话他们是真的敢说(袁冰妍郑业成这对可以处)
- 《祝卿好》台词又土又甜,就喜欢这么直接的恋爱(祝卿好台词又土又甜)
热门推荐
- SQL中AVG、COUNT、SUM、MAX等函数对NULL值处理
- linux 长模式查看文件(linux 查看文件系统类型实例方法)
- 阿里云域名解析在哪里(阿里云服务器实现域名解析步骤小白教程)
- ASP.NET自定义分页类
- dedecms标签怎么调用(dedeCMS 站内搜索代码的改进方法)
- 网络连接云主机(如何远程连接云主机?)
- vue element admin接口(Vue-Element-Admin集成自己的接口实现登录跳转)
- dedecms搜索功能怎么设置详细(dedecms pagelist标签修改方法分享)
- Jquery中的offset()和position()的区别
- python中怎么查看函数的用法(Python中函数的基本定义与调用及内置函数详解)