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 相关文章推荐
《JavaScript DOM 编程艺术》读书笔记之JavaScript 图片库
Jan 09 Javascript
jQuery过滤选择器用法分析
Feb 10 Javascript
jQuery实现个性翻牌效果导航菜单的方法
Mar 09 Javascript
JS判断字符串包含的方法
May 05 Javascript
javascript解决IE6下hover问题的方法
Jul 28 Javascript
js关于getImageData跨域问题的解决方法
Oct 14 Javascript
Centos6.8下Node.js安装教程
May 12 Javascript
JavaScript实现短信倒计时60s
Oct 09 Javascript
每个 JavaScript 工程师都应懂的33个概念
Oct 22 Javascript
webpack配置proxyTable时pathRewrite无效的解决方法
Dec 13 Javascript
实例讲解v-if和v-show的区别
Jan 31 Javascript
Flutter 超实用简单菜单弹出框 PopupMenuButton功能
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中使用asort进行中文排序失效的问题处理
2014/08/18 PHP
PHP实现格式化文件数据大小显示的方法
2015/01/03 PHP
利用php抓取蜘蛛爬虫痕迹的示例代码
2016/09/30 PHP
php使用高斯算法实现图片的模糊处理功能示例
2016/11/11 PHP
PHP上传图片、删除图片简单实例
2016/11/12 PHP
Laravel5.1 框架控制器基础用法实例分析
2020/01/04 PHP
jquery maxlength使用说明
2011/09/09 Javascript
JQuery实现用户名无刷新验证的小例子
2013/03/22 Javascript
js编写trim()函数及正则表达式的运用
2013/10/24 Javascript
JQuery设置获取下拉菜单某个选项的值(比较全)
2014/08/05 Javascript
值得分享的轻量级Bootstrap Table表格插件
2016/05/30 Javascript
prototype.js常用函数详解
2016/06/18 Javascript
Bootstrap进度条学习使用
2017/02/09 Javascript
get  post jsonp三种数据交互形式实例详解
2017/08/25 Javascript
JS运动特效之任意值添加运动的方法分析
2018/01/24 Javascript
Angular5中调用第三方库及jQuery的添加的方法
2018/06/07 jQuery
不得不知的ES6小技巧
2018/07/28 Javascript
angular中如何绑定iframe中src的方法
2019/02/01 Javascript
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
2019/07/25 Javascript
原生JavaScript创建不可变对象的方法简单示例
2020/05/07 Javascript
Node.js API详解之 module模块用法实例分析
2020/05/13 Javascript
node.js +mongdb实现登录功能
2020/06/18 Javascript
解决Vue的文本编辑器 vue-quill-editor 小图标样式排布错乱问题
2020/08/03 Javascript
[07:57]2018DOTA2国际邀请赛寻真——PSG.LGD凤凰浴火
2018/08/12 DOTA
[02:29]大剑、皮鞭、女装,这届DOTA2勇士令状里都有
2020/07/17 DOTA
Python实现的二维码生成小软件
2014/07/11 Python
python3编码问题汇总
2016/09/06 Python
python读取tif图片时保留其16bit的编码格式实例
2020/01/13 Python
python使用Geany编辑器配置方法
2020/02/21 Python
Html5嵌入钉钉的实现示例
2020/06/04 HTML / CSS
美国东北部户外服装和设备零售商:Eastern Mountain Sports
2016/10/05 全球购物
伦敦的高级牛仔布专家:Trilogy
2018/08/06 全球购物
数控加工专业毕业生自荐信
2013/09/27 职场文书
关于成绩下滑的自我检讨书
2014/09/20 职场文书
个人学习群众路线心得体会
2014/11/05 职场文书
Java 深入探究讲解简单工厂模式
2022/04/07 Java/Android