有时候我们需要捕获页面上的回车事件,以达到一些特殊效果,例如在登录页面用户输入完登录名和密码后习惯直接敲回车,这时需要捕获回车事件,在回车事件中激活form元素

1.纯Java Script版

首先要捕获 document对象的按钮弹起事件(捕获按下事件也可以),浏览器会将用户按下的按键信息对象传递到事件回调函数中(以参数的形式),传入函数中的这个按键信息中包含了一个用来识别按键的编号(每个按键都有一个对应的编号),而回车按键对应的编号就是13,所以我们取出按键信息对象中的这个编号,判断它是不是13就可以了,初始版本如下:

 document.onkeyup = function (e) {//按键信息对象以函数参数的形式传递进来了,就是那个e
var code = e.charCode || e.keyCode; //取出按键信息中的按键代码(大部分浏览器通过keyCode属性获取按键代码,但少部分浏览器使用的却是charCode)
if (code == 13) {
//此处编写用户敲回车后的代码
}
}

可这样有个问题,在旧版IE下,按键信息对象并不是直接传递到函数中的,所有的事件对象是存储在window.event中的,所以为了兼容旧版IE,我们可以先判断一下window.event这个对象存在不存在,若存在,说明是旧版IE浏览器,如果不存在,说明是chrome、火狐之类的新式浏览器,改良版如下:

document.onkeyup = function (e) {
if (window.event)//如果window.event对象存在,就以此事件对象为准
e = window.event;
var code = e.charCode || e.keyCode;
if (code == 13) {
//此处编写用户敲回车后的代码
}
}

2.Jquery版

思路和纯JavaScript代码类似,不过Jquery实现起来可能更简单一些,因为Jquery本身就已经在某些方面做了浏览器兼容性设置,所以代码会比较简洁一些

 $(document).keyup(function (e) {//捕获文档对象的按键弹起事件
if (e.keyCode == 13) {//按键信息对象以参数的形式传递进来了
//此处编写用户敲回车后的代码
}
});

转自:曾经最美的记忆

js && Jquery 的回车事件的更多相关文章

  1. 原 JS监听回车事件

    原 JS监听回车事件 发表于2年前(2014-06-04 10:16)   阅读(6101) | 评论(0) 11人收藏此文章, 我要收藏 赞0 1月16日厦门 OSC 源创会火热报名中,奖品多多哦  ...

  2. jquery响应回车事件

    简单地记下jquery实现回车事件,代码如下: 全局: $(function(){document.onkeydown = function(e){     var ev = document.all ...

  3. jquery 键盘回车事件

    <input id="search" placeholder="输入要领用的资产条码" id="scanCode" type=&quo ...

  4. jquery绑定回车事件

    //回车事件绑定 $(".left-content").keyup(function(event){ var theEvent = event || window.event; v ...

  5. js监听回车事件

    标题通俗的说,也就是绑定当用户按下回车键要执行的事件. 下面,入正题. 第一步,先编写简单的页面代码,这里我们只需要一个按钮就足够了.当然,还有按钮事件. <html> <head& ...

  6. js dom添加回车事件

    <!DOCTYPE html> <html lang="en" class="no-js"> <head> <meta ...

  7. js捕获页面回车事件

    1.javascript版 document.onkeyup = function (e) { if (window.event)//如果window.event对象存在,就以此事件对象为准 e = ...

  8. form表单回车提交问题,JS监听回车事件

    我们有时候希望回车键敲在文本框(input element)里来提交表单(form),但有时候又不希望如此.比如搜索行为,希望输入完关键词之后直接按回车键立即提交表单,而有些复杂表单,可能要避免回车键 ...

  9. js&jquery:添加事件的三种方法和常用的一些事件

    一.添加事件的方法 1.EventTarget.addEventListener添加 获取事件目标元素,通过addEventListener函数添加 // Assuming myButton is a ...

随机推荐

  1. Mathematica 迭代函数

    学习Mathematica迭代函数的几个画图例子: 1.三角形沿着某一点旋转 verticse = {{0, 0}, {1, 0}, {1/2, Sqrt[3]/2}}; tri = Line[ver ...

  2. JavaScript权威指南——跳转语句

    前言:JavaScript中有一类语句叫做跳转语句.从名称就可以看出,它使得JavaScript的执行可以从一个位置跳转到另一个位置. return语句让解释器跳出循环体的执行,并提供本次调用的返回值 ...

  3. 玩转TypeScript(2) --简单TypeScript类型

    通过TypeScript的Module和Class,TypeScript提供了相对于javaScript更加清晰的代码构造,相较于javaScript的.js满天飞的代码,用TypeScript,你可 ...

  4. 在WisOne平台上学习TypeScript

    TypeScript是微软公司推出的开源的类型化脚本语言,目的是用于为弱类型的javaScript提供强类型的识别和感知功能,同时它提供了类.接口.继承等相关在javaScript中不容易实现的功能, ...

  5. Stack Overflow 2016年度 20个最佳Python问题(一)

    Stack Overflow 2016年度 20个最佳Python问题(一) https://zhuanlan.zhihu.com/p/25020763

  6. 初识Tarjan算法

    #include<bits/stdc++.h> using namespace std; ; ;//强连通分量的个数 int stk[maxn];//暂时存放遍历过的点,在遇到low[x] ...

  7. 使用just-api 进行接口测试

    just-api 是基于配置的测试,同时支持基于jsonpath jsonschema 的数据校验, 对于数据的请求只集成hook,支持测试失败重试.测试报告.graphql api 测试.... 使 ...

  8. 如何生成SPFILE文件

    1.spfile是Oracle9i之后引入的,目的是提高系统安全性.在Oracle8i下初始化参数文件为文本文件,可以使用文本编辑器进行编辑,当需要修改初始化参数时,需要在init.ora文件中修改, ...

  9. JUC线程池之 ThreadPoolExecutor简介

    ThreadPoolExecutor简介 ThreadPoolExecutor是线程池类.对于线程池,可以通俗的将它理解为"存放一定数量线程的一个线程集合.线程池允许若个线程同时允许,允许同 ...

  10. linux下编译GD(freetype+libjpeg+libpng+gd-devel)

    linux下编译GD(freetype+libjpeg+libpng+gd-devel) 1.检查freetype是否安装rpm -qa | grep freetype没有的话编译freetype 这 ...