知识大全 javascript的键盘控制事件
Posted 语句
篇首语:识字粗堪供赋役,不须辛苦慕公卿。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 javascript的键盘控制事件相关的知识,希望对你有一定的参考价值。
获取键盘控制事件是实现交互性最有力的方法之一 首先需要了解的是如何初始化该事件 基本语句如下 document onkeydown = keyDown 当浏览器读到这个语句时 无论按下键盘上的哪个键 都将呼叫KeyDown()函数 捕获键盘事件对于不同的浏览器来说有点困难 我们分别的来学习不同浏览器的实现语句 Netscape Netscape的程序实现要比IE麻烦 你必须放一个特别的语句 来使Netscape始终去检查击键事件 如果没有这行语句 击键事件将与按下鼠标事件搞混 特别语句如下 document onkeydown = keyDown if (ns ) document captureEvents(Event KEYDOWN) keyDown()函数有一个隐藏的变量 一般的 我们使用字母 e 来表示这个函数 function keyDown(e) 变量e表示发生击键事件 寻找是哪个键被按下 使用以下属性 e which 这将给出该键的索引值 把索引值转化成该键的字母或数字值 写 String fromCharCode(e which) 把上面的语句放在一起 我们可以知道被按下的是哪一个键 function keyDown(e) var keycode = e which var realkey = String fromCharCode(e which) alert( keycode: + keycode + realkey: + realkey) document onkeydown = keyDown document captureEvents(Event KEYDOWN)
Internet Explorer IE的程序与Netscape类似 但它不需要e变量 用window event keyCode来代替e which 把键的索引值转化为真实键值方法类似 String fromCharCode(event keyCode) 程序如下 function keyDown() var keycode = event keyCode var realkey = String fromCharCode(event keyCode) alert( keycode: + keycode + realkey: + realkey) document onkeydown = keyDown document onkeydown = keyDown 适用于两者的程序 用两种浏览器检查上述实例 你会发现执行结果不总是一样的 这是因为两种浏览器的键盘代码设置不相同 因此你必须使用单独的代码分别来写这段程序 而毫无别法 建议你要完全忘掉实际的键值 仅仅使用键盘的代码值来工作 下面这段程序将视情况而设置 如果是用IE的话 ieKey生效 把nKey设为 如果是用Netscape的话 nKey生效 把nKey设为 然后用一个警示框来显示两者的值 function keyDown(e) if (ns ) var nKey=e which; var ieKey= if (ie ) var ieKey=event keyCode; var nKey= alert( nKey: +nKey+ ieKey: + ieKey) document onkeydown = keyDown if (ns ) document captureEvents(Event KEYDOWN) 使用键盘移动对象 下面的程序实现用键盘移动对象 程序将检查哪一个键被按下 从而调用相应的函数来移动对象 本例中 当字母 A 被按下时 对象就开始移动 字母 A 键在nKey中的值是 ieKey的值为 在程序中将分别检查这两个值
function init() if (ns ) block = document blockDiv if (ie ) block = blockDiv style block xpos = parseInt(block left) document onkeydown = keyDown if (ns ) document captureEvents(Event KEYDOWN) function keyDown(e) if (ns ) var nKey=e which; var ieKey= if (ie ) var ieKey=event keyCode; var nKey= if (nKey== || ieKey== ) // 如果 A 键按下 slide() function slide() block xpos += block left = block xpos status = block xpos // 这一句不一定需要 只是为了检查状态 setTimeout( slide() ) 增加 Active 变量 上面程序稍微有些不足 对象移动以后就无法使它停止了 而且当你多按几次A键时 物体将运动得越来越快 这里我们来修补它 使用变量 active 来改变这种情况 插入if语句来检查函数是否重复 function slide() if (myobj active) myobj xpos += myojb left = myobj xpos setTimeout( slide() ) 在这种情况中 slide()函数只有在myobj active值为真的时候才会工作 当myobj active值为假时 对象将停止移动 使用 onKeyUp 和 Active 变量
cha138/Article/program/Java/JSP/201311/19754相关参考
知识大全 PowerBuilder使用自定义事件触发键盘Enter事件
PowerBuilder使用自定义事件触发键盘Enter事件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
本文为大家详细介绍下使用js如何监听键盘事件具体实现代码如下感兴趣的朋友可以参考下希望对大家有所帮助 复制代码代码如下:cha138/Article/program/Java/JS
解析Swing中的键盘事件处理 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在JavaSwin
JavaSwing中的键盘事件处理 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在javaSw
cha138/Article/program/Java/JSP/201311/20302
例子屏蔽浏览器F刷新代用刷新iframe框架复制代码代码如下://捕获F事件$("body")keydown(function(e)varev=windowevent||e;varcode=evk
知识大全 JavaScript处理事件:单击事件onClick
JavaScript处理事件:单击事件onClick 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
浅谈JavaScript之事件绑定 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关于JavaScr
解析javascript浏览器关闭事件cha138/Article/program/Java/JSP/201311/19935
理解javaScript中的事件驱动 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!lishixin