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 相关文章推荐
js 设置选中行的样式的实现代码
May 24 Javascript
jQuery contains过滤器实现精确匹配使用方法
Apr 12 Javascript
javascript的日期对象、数组对象、二维数组使用说明
Dec 22 Javascript
JavaScript实现的encode64加密算法实例分析
Apr 15 Javascript
javascript中的Function.prototye.bind
Jun 25 Javascript
javascript编写贪吃蛇游戏
Jul 07 Javascript
关于在Servelet中如何获取当前时间的操作方法
Jun 28 Javascript
jQuery给指定的table动态添加删除行的操作方法
Oct 12 Javascript
深入理解Javascript中的观察者模式
Feb 20 Javascript
使用Require.js封装原生js轮播图的实现代码
Jun 15 Javascript
带你快速理解javascript中的事件模型
Aug 14 Javascript
JS实现中英文混合文字溢出友好截取功能
Aug 06 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 强制下载文件代码
2010/10/24 PHP
yii2分页之实现跳转到具体某页的实例代码
2016/06/02 PHP
PHP实现带重试功能的curl连接示例
2016/07/28 PHP
PHP面向对象程序设计内置标准类,普通数据类型转为对象类型示例
2019/06/12 PHP
HTML中Select不用Disabled实现ReadOnly的效果
2008/04/07 Javascript
jQuery侧边栏随窗口滚动实现方法
2013/03/04 Javascript
jQuery基本过滤选择器使用介绍
2013/04/18 Javascript
node.js中的emitter.emit方法使用说明
2014/12/10 Javascript
JavaScript基本的输出和嵌入式写法教程
2015/10/20 Javascript
Jquery检验手机号是否符合规则并根据手机号检测结果将提交按钮设为不同状态
2015/11/26 Javascript
form+iframe解决跨域上传文件的方法
2016/11/18 Javascript
canvas 绘制圆形时钟
2017/02/22 Javascript
Node.JS文件系统解析实例详解
2017/05/15 Javascript
关于echarts在节点显示动态数据及添加提示文本所遇到的问题
2018/04/20 Javascript
Vue插值、表达式、分隔符、指令知识小结
2018/10/12 Javascript
利用Bootstrap Multiselect实现下拉框多选功能
2019/04/08 Javascript
PHP读取远程txt文档到数组并实现遍历
2020/08/25 Javascript
在vue中使用eslint,配合vscode的操作
2020/11/09 Javascript
[01:08:10]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS LGD-CDEC
2014/05/22 DOTA
[42:39]老党炸弹人试玩视频
2014/09/03 DOTA
深度剖析使用python抓取网页正文的源码
2014/06/11 Python
python中nan与inf转为特定数字方法示例
2017/05/11 Python
基于Python 装饰器装饰类中的方法实例
2018/04/21 Python
Python谱减法语音降噪实例
2019/12/18 Python
jupyternotebook 撤销删除的操作方式
2020/04/17 Python
html5自定义video标签的海报与播放按钮功能
2019/12/04 HTML / CSS
八年级英语教学反思
2014/01/09 职场文书
运动会解说词200字
2014/02/06 职场文书
小露珠教学反思
2014/04/30 职场文书
绿色小区申报材料
2014/08/22 职场文书
孝敬父母的活动方案
2014/08/28 职场文书
法学专业毕业实习自我鉴定2014
2014/09/27 职场文书
六查六看自查报告
2014/10/14 职场文书
劳模事迹材料范文
2014/12/24 职场文书
小学生家长意见
2015/06/03 职场文书
十大最强火系宝可梦,喷火龙上榜,第一名有双火属性
2022/03/18 日漫