jquery快捷动态绑定键盘事件的操作函数代码


Posted in Javascript onOctober 17, 2013
(function($) 
{ 
$.extend({ key_fn:[], //存放绑定的字符对应的函数 
key_code:[], //存放字符 
key_bind:function(ch,callback){ 
var KeyCode = {a:65,b:66,c:67,d:68,e:69,f:70,g:71,h:72,i:73,j:74,k:75,l:76,m:77,n:78,o:79,p:80,q:81,r:82,s:83,t:84,u:85,v:86,w:87,x:88,y:89,z:90}; 
if(KeyCode.hasOwnProperty(ch)){ 
$.key_fn.push(callback); 
$.key_code.push(ch); 
//第一次才需要添加事件 
if($.key_fn.length == 1){ 
$(document).keypress(function(e){ 
var e = event || window.event; 
var k = e.keyCode || e.which; 
for(var i =0 ; i < $.key_fn.length ;i++){ 
// - 32 兼容小写 
if(k-32 == KeyCode[$.key_code[i]] || k == KeyCode[$.key_code[i]] ){ 
log('pressed binded key '+k); 
$.key_fn[i](); 
break; 
} 
} 
}); 
} 
}else 
{ 
alert('绑定事件只能是字母'); 
} 
} 
}); 
})(jQuery);

使用的时候可以如下
$.key_bind('f',set_table_full_screen); 
$.key_bind('r',reloadthis);

有时候我们需要为应用添加一些快捷方式,每次都去写一个下面的代码,通过key_bin就是方便的绑定某个键盘和和对应的操作函数了。
$(document).keypress(function(){})
Javascript 相关文章推荐
实现超用户体验 table排序javascript实现代码
Jun 22 Javascript
Javascript学习笔记6 prototype的提出
Jan 11 Javascript
js Array对象的扩展函数代码
Apr 24 Javascript
JavaScript中switch判断容易犯错的一个细节
Aug 27 Javascript
基于React实现表单数据的添加和删除详解
Mar 14 Javascript
Google 爬虫如何抓取 JavaScript 的内容
Apr 07 Javascript
BackBone及其实例探究_动力节点Java学院整理
Jul 14 Javascript
vue-resouce设置请求头的三种方法
Sep 12 Javascript
详解基于Koa2开发微信二维码扫码支付相关流程
May 16 Javascript
微信小程序用户授权、位置授权及获取微信绑定手机号
Jul 18 Javascript
Vue.js中的高级面试题及答案
Jan 13 Javascript
《javascript设计模式》学习笔记四:Javascript面向对象程序设计链式调用实例分析
Apr 07 Javascript
js实现的常用的左侧导航效果
Oct 17 #Javascript
给超链接添加特效鼠标移动展示提示信息且随鼠标移动
Oct 17 #Javascript
JS对HTML标签select的获取、添加、删除操作
Oct 17 #Javascript
JS操作数据库的实例代码
Oct 17 #Javascript
JavaScript调用后台的三种方法实例
Oct 17 #Javascript
9行javascript代码获取QQ群成员具体实现
Oct 16 #Javascript
JS实现时间格式化的方式汇总
Oct 16 #Javascript
You might like
php数据序列化测试实例详解
2017/08/12 PHP
laravel返回统一格式错误码问题
2019/11/04 PHP
JS 分号引起的一段调试问题
2009/06/18 Javascript
JavaScript Title、alt提示(Tips)实现源码解读
2010/12/12 Javascript
Dom 学习总结以及实例的使用介绍
2013/04/24 Javascript
JavaScript实现按Ctrl键打开新页面
2014/09/04 Javascript
基于jquery实现表格无刷新分页
2016/01/07 Javascript
用JS写的一个Ajax库(实例代码)
2016/08/06 Javascript
node安装--linux下的快速安装教程
2017/03/21 Javascript
移动端滑动切换组件封装 vue-swiper-router实例详解
2018/11/25 Javascript
jQuery实现的点击图片居中放大缩小功能示例
2019/01/16 jQuery
基于Koa(nodejs框架)对json文件进行增删改查的示例代码
2019/02/02 NodeJs
js实现右键弹出自定义菜单
2020/09/08 Javascript
[11:33]DAC2018 4.5SOLO赛决赛 MidOne vs Paparazi第二场
2018/04/06 DOTA
Python3基础之基本数据类型概述
2014/08/13 Python
python实现计算倒数的方法
2015/07/11 Python
Python的Django框架中的URL配置与松耦合
2015/07/15 Python
tensorflow中next_batch的具体使用
2018/02/02 Python
python实现图书管理系统
2018/03/12 Python
python全栈要学什么 python全栈学习路线
2019/06/28 Python
利用python对excel中一列的时间数据更改格式操作
2020/07/14 Python
html5嵌入内容_动力节点Java学院整理
2017/07/07 HTML / CSS
钉钉企业内部H5微应用开发详解
2020/05/12 HTML / CSS
GNC健安喜官方海外旗舰店:美国著名保健品牌
2017/01/04 全球购物
Jacadi Paris英国官网:法国童装品牌
2019/08/09 全球购物
KOHLER科勒美国官网:国际著名卫浴橱柜领先品牌
2020/06/27 全球购物
在C语言中"指针和数组等价"到底是什么意思?
2014/03/24 面试题
大学毕业生工作的自我评价
2013/10/01 职场文书
中学生运动会入场词
2014/02/12 职场文书
艺校音乐专业自我鉴定范文
2014/03/01 职场文书
升旗仪式演讲稿
2014/05/08 职场文书
文明礼貌演讲稿
2014/05/12 职场文书
党的群众路线教育实践活动个人承诺书
2014/05/22 职场文书
学习十八大的心得体会
2014/09/01 职场文书
MySQL sql_mode修改不生效的原因及解决
2021/05/07 MySQL
Java 使用类型为Object的变量指向任意类型的对象
2022/04/13 Java/Android