js事件绑定快捷键以ctrl+k为例
js代码
<html>
<head>
<script type="text/javascript">
window.onload=function(){
HotKeyHandler.Init();
}
var HotKeyHandler={
currentMainKey:null,
currentValueKey:null,
Init:function(){
HotKeyHandler.Register(0,"K",function(){alert("注册成功");});
},
Register:function(tag,value,func){
var MainKey="";
switch(tag){
case 0:
MainKey=17; //Ctrl
break;
case 1:
MainKey=16; //Shift
break;
case 2:
MainKey="18"; //Alt
break;
}
document.onkeyup=function(e){
HotKeyHandler.currentMainKey=null;
}
document.onkeydown=function(event){
//获取键值
var keyCode= event.keyCode ;
var keyValue = String.fromCharCode(event.keyCode);
if(HotKeyHandler.currentMainKey!=null){
if(keyValue==value){
HotKeyHandler.currentMainKey=null;
if(func!=null)func();
}
}
if(keyCode==MainKey)
HotKeyHandler.currentMainKey=keyCode;
}
}
}
</script>
</head>
<body>
测试,按下ctrl+k你就会发现神奇的事情发生了
</body>
</html>
相关推荐
-
Javascript 事件流和事件绑定
事件流 浏览器中的事件流意味着页面上可有不仅一个,甚至多个元素响应同一个事件.而这一个或多个元素响应事件发生的先后顺序在各个浏览器(主要针对IE和Netscape)上是不同的. 冒泡型事件(Dubbed Bubbling) IE上的解决方案就是冒泡型事件(Dubbed Bubbling).冒泡型事件的基本思想是,事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发. 示例(1):点击我触发冒泡型事件流 示例(1)的XHTML代码结构:<span id="cnt0
-
javascript事件的绑定基础实例讲解(34)
本文实例为大家分享了js事件绑定的具体代码,供大家参考,具体内容如下 <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> window.onload = function(){ var btn01 = document.getElementById("btn01&quo
-
js鼠标滑轮滚动事件绑定的简单实例(兼容主流浏览器)
复制代码 代码如下: /** Event handler for mouse wheel event. *鼠标滚动事件 */ var wheel = function(event) { var delta = 0; if (!event) /* For IE. */ event = window.event; if (event.w
-
javascript 处理事件绑定的一些兼容写法
绑定事件 复制代码 代码如下: var addEvent = function( obj, type, fn ) { if (obj.addEventListener) obj.addEventListener( type, fn, false ); else if (obj.attachEvent) { obj["e"+type+fn] = fn; obj.attachEvent( "on"+type, function() { obj["e"
-
JS 事件绑定函数代码
主要解决了 浏览器兼容,现在可以兼容IE6 7 8 FF 谷歌(废话) IE浏览器里,this指向问题. 直接上代码吧! 复制代码 代码如下: var bind=function(object,type,fn){ if(object.attachEvent){//IE浏览器 object.attachEvent("on"+type,(function(){ return function(event){ window.event.cancelBubble=true;//停止时间冒泡 o
-
JS的事件绑定深入认识
一.传统事件模型 传统事件模型中存在局限性. 内联模型以HTML标签属性的形式使用,与HTML混写,这种方式无疑造成了修改以及扩展的问题,已经很少使用了. 脚本模型是将事件处理函数写到js文件中,从页面获取元素进行对应事件函数的绑定以触发执行.但也存在不足之处: 1.一个事件绑定多个事件监听函数,后者将覆盖前者. 2.需要限制重复绑定的情况 3.标准化event对象 二.现代事件绑定 DOM2级事件定义了两个方法用于添加.删除事件:addEventListener().removeEventLi
-
Node.js中使用事件发射器模式实现事件绑定详解
在Node里,很多对象都会发射事件.比如,一个TCP服务器,每当有客户端请求连接就会发射"connect"事件,又比如,每当读取一整块数据,文件系统就会发射一个"data"事件.这些对象在Node里被称为事件发射器(event emitter).事件发射器允许程序员订阅他们感兴趣的事件,并将回调函数绑定到相关的事件上,这样每当事件发射器发射事件时回调函数就会被调用.发布/订阅模式非常类似传统的GUI模式,比如按钮被点击时程序就会收到相应的通知.使用这种模式,服务端程
-
Javascript函数加壳多用于事件绑定
function addShell(func,name,obj) { func=Function(func); if(!obj) obj=window; var old = obj[name]; if (typeof obj[name] != 'function') { obj[name] = func; } else { obj[name] = function() { var ja=[]; var t = obj[name].arguments; for(var x=0;x [Ctrl+A
-
浅谈JavaScript之事件绑定
其实没有什么新的知识点,只是为了方便其他有需要的朋友们翻阅,对自己而言也算是一个积累,所以只能算是闲谈 JavaScript,老鸟们可以尽情飘过.在进入正题之前,先提个问题热热身吧.现在有如下 HTML 结构: 复制代码 代码如下: <div id="wrap"> <input type="button" value="按钮一" /> <input type="button" value=&quo
-
div+css+js模拟tab切换效果 事件绑定 IE,firefox兼容
div+css+js模拟tab, 我这个版本,理论上可以添加无限个tab,而且,你只要管内容的添加行了,不需要改JS 当然,你得会DIV才行. div+css+js模拟tab 框1111 框2222 框3333 框4444 这里是内容撒.111.. 这里是内容撒.111.. 这里是内容撒.111.. 这里是内容撒222.. 这里是内容撒.222.. 这里是内容撒.222.. 这里是内容撒.333.. 这里是内容撒.333.. 这里是内容撒.333.. 这里是内容撒.444.. 这里是内容撒.44
随机推荐
- jquery实现ajax加载超时提示的方法
- 如何屏蔽防止别的网站嵌入框架代码
- oracle查看当前日期是第几个星期的方法
- javascript精确统计网站访问量实例代码
- JAVA得到数组中最大值和最小值的简单实例
- Java并发编程总结——慎用CAS详解
- Bootstrap企业网站实战项目4
- Elasticsearch.Net使用教程 MVC4图书管理系统(2)
- PHP基于ICU扩展intl快速实现汉字转拼音及按拼音首字母分组排序的方法
- thinkPHP微信分享接口JSSDK用法实例
- PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析
- PHP面试题之文件目录操作
- C#实现listview Group收缩扩展的方法
- 纯javascript制作日历控件
- js加载读取内容及显示与隐藏div示例
- Lua学习笔记之类型与值
- jquery不会自动回收xmlHttpRequest对象 导致了内存溢出
- jQuery-1.9.1源码分析系列(十)事件系统之事件体系结构
- javascript中sort() 方法使用详解
- Android开发实现Files文件读取解析功能示例
