当前位置:  编程技术>WEB前端

jQuery事件之键盘事件(ctrl+Enter回车键提交表单等)

    来源: 互联网  发布时间:2014-08-25

    本文导语:  键盘事件处理所有用户在键盘敲击的情况,不管在文本输入区域内部还是外部。键盘事件在不同的浏览器中作用的范围是不一样的,通常这种键盘事件可以作用于 Form元素,a标签元素,window ,document这样的元素上。在所有可以...

键盘事件处理所有用户在键盘敲击的情况,不管在文本输入区域内部还是外部。键盘事件在不同的浏览器中作用的范围是不一样的,通常这种键盘事件可以作用于 Form元素,a标签元素,window ,document这样的元素上。在所有可以获得交点的元素上是可以触发键盘事件的,可以获得焦点的元素可以这样理解,在使用Tab键的时候可以跳跃到的元素就是可以使用键盘事件的元(在没有为这些元素设置tabindex属性值的情况下,当tabindex设置为负数的时候,在使用Tab键的时候就不会获得焦点)。

    键盘事件可以传递一个参数event,其实所有的jQuery事件都可以传递这么一个参数,这个event是一个对象,其包括一些属性,在触发事件的时候可以通过event来获得一些关于事件的值,比如在使用键盘的时候可以使用event.keyCode来获得所按下键的ASCII码的值。见下文

1:keydown()事件是键盘点击时触发的第一个键盘事件,如果用户继续按住键位,keydown事件会持续进行。

代码如下:

      $('input').keydown(function(event){
        alert(event.keyCode);
        });

      通过键盘返回的值可以实现更多的关于这些元素的控制,比如说上下左右键,分别是:38,40,37,39 。
2:keypress()事件和keydown是差不多的,只有一个例外,如果需要阻止按键的默认行为,你必须是哟就keypress事件。

3:keyup()事件是最后一个发生的事件(在keydown事件之后),不想keydown事件,该事件在松开键盘是仅触发一次(因为松开键盘并不是一个持续的状态)。

代码如下:

      $('input').keyup(funciton(){
          alert('keyup function is running!!');
        });

4:在jQuery中keydown,keypress,keyup事件是按一定的顺序执行的。

代码如下:

        $('input').keyup(function(){
          console.log('keyup');
          });
        $('input').keydown(function(){
          console.log('keydown');
          });
        $('input').keypress(function(){
          console.log('keypress');
          });

      执行结果是:keydown ,keypress ,keyup .
      在这里不使用alert是因为在alert的时候会阻止一些事件的发生,在这里是会阻止keyup事件的发生,要想实验这端代码,可以在Firefox下进行,需要在浏览器上装上firebug这个插件。放心安装,因为Firefox是一款开源的浏览器。相信开源软件。

jQuery处理键盘事件有三个函数,根据事件发生的顺序分别是:

代码如下:

keydown();
keyup();
keypress();

keydown()

keydown事件会在键盘按下时触发,可以在绑定的函数中欧能够返回false来防止触发浏览器的默认事件.

keyup()

keyup事件会在按键释放时触发,也就是你按下键盘起来后的事件

keypress()

keypress事件会在敲击按键时触发,我们可以理解为按下并抬起同一个按键

 我们怎么才能获取我按下的是A还是Z还是回车按钮呢?

键盘事件可以传递一个参数event,其实说有的jQuery事件函数中都可以传递这么一个参数

代码如下:

$('input').keydown(function(event){
alert(event.keyCode);
});

上面代码中的,event.keyCode就可以帮助我们获取到我们按下了什么按键,他返回的是ascII码,比如说上下左右键,分别是38,40,37,39

如果我们要实现ctrl+Enter就是ctrl+回车提交表单

代码如下:

$(document).keypress(function(e) {
if (e.ctrlKey && e.which == 13)
$("form").submit();
})

其它参考信息:

预备知识

1.数字0键值48..数字9键值57
2.a键值97..z键值122;A键值65..Z键值90
3.+键值43;-键值45;.键值46;退格8;tab键值9;
4.event在ie中是全局的,在firefox是临时对象,需要传递参数

代码如下:

*/
jQuery.extend({
/*===========================================================================
功能描述:取得按键的值
调用方法:
jQuery.getKeyNum(event);
*/
getKeyNum:function(e){
var keynum;
if(window.event){ // IE
keynum = event.keyCode;
}
else if(e.which){ // Netscape/Firefox/Opera
keynum = e.which;
}
return keynum;
},
/*===========================================================================
功能描述:判断是否是整数,限制编辑框只能输入数字
调用方法:

待解决问题:
firefox下tab键不起作用。
*/
isInt:function(e){
var keynum = this.getKeyNum(e);
if(keynum >= 48 && keynum = 0){
return false;
}else{
return true;
}
}
if(this.isInt(e)){
return true;
}
return false;
}
});

    
 
 

您可能感兴趣的文章:

  • JQuery文本改变触发事件如聚焦事件、失焦事件
  • jquery阻止后续事件只执行第一个事件
  • jquery button默认enter事件(回车事件)
  • jquery onpropertychange键盘事件用法举例
  • jquery 绑定、捕获、拦截回车事件的例子
  • jquery回车事件的示例代码
  • jQuery查看事件内容的小例子
  • jQuery回车键事件实例代码
  • jquery动态添加元素事件失效问题解决方法
  • JQuery中阻止事件冒泡几种方式及其区别介绍
  • jquery 回车键事件小例子
  • jquery捕捉回车事件的代码
  • jquery1.10给新增元素绑定事件的方法
  • jquery 回车事件的实例分享
  • jquery 文本框回车事件 跳到下一个文本框
  • jquery 回车事件的实现代码
  • jquery代码:多浏览器捕捉回车事件
  • JQuery如何触发元素事件
  • 使用JS或jQuery模拟鼠标点击a标签事件代码
  • jquery为动态加载的元素绑定事件的代码
  • jQuery回车键切换文本框焦点
  • jQuery回车键绑定点击事件示例
  • jquery 绑定回车动作扑捉回车键触发的事件
  • jQuery实现当按下回车键时绑定点击事件
  • jQuery实现回车键(Enter)切换文本框焦点的代码实例
  • jquery 扑捉回车键事件代码
  • jquery如何扑捉回车键触发的事件
  • Jquery响应回车键直接提交表单操作代码
  • Jquery 监视按键、回车键触发事件的实例
  • Jquery 监视按键,按下回车键触发某方法的实现代码
  • jquery回车键enter切换焦点如何实现
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • jQuery表单验证插件 jQuery.validity
  • jQuery 表单插件 jQuery.formLocalStorage
  • jQuery表单生成插件 jquery-form
  • jQuery表单插件 jQuery.form
  • jQuery form表单reset按钮重置清空表单的实现代码
  • 表单验证插件 Jquery表单验证插件
  • jQuery表单验证插件 validVal
  • jQuery表单插件 jFormer
  • 使用jQuery重置(reset)表单的方法
  • jQuery如何获取与设置表单元素
  • jQuery提交多个表单的小例子
  • jquery form表单如何序列化为对象
  • jQuery可伸缩的反馈表单 Contactable
  • jQuery表单美化和验证插件 Formly
  • jQuery表单校验插件 VanadiumJS
  • jQuery表单插件 jNice
  • jquery easyui表单重置扩展思路
  • jQuery中验证表单提交方式及序列化表单内容的实现
  • 点击表单提交时出现jQuery没有权限的解决方法
  • jQuery表单验证插件 Validation
  • 通过javascript库JQuery实现页面跳转功能代码
  • jquery 绑定、捕获、拦截回车事件的例子 iis7站长之家
  • jQuery概述,代码举例及最新版下载
  • jQuery向导插件 Jquery Wizard Plugin
  • Jquery操作html复选框checkbox:全选,全不选和反选
  • jQuery圆角插件 jQuery Corners
  • struts+spring+hibernate+jquery实现分页功能的几个基本类介绍(异步加载)
  • jQuery相册插件 jQuery.popeye
  • jQuery UI组件 jQuery UI
  • jQuery右键菜单插件 jQuery ContextMenu
  • jQuery分页插件 Pagination jQuery Plugin


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3