精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● ASP>>VBScript & JavaScript>>关于特殊按键的屏蔽

主题:关于特殊按键的屏蔽
发信人: nonepassby(左右無人)
整理人: i_am_trueman(2003-10-22 16:31:06), 站内信件
<!--
在我上一篇关于键盘事件的脚本文章灌入后,有朋友问我怎么屏蔽功能键,经过一阵编测,获得了一些小经验,把它化成代码,给朋友们看看,相信对朋友们会有点帮助。原来在按键时,某些键除了发键盘事件外,还会引发一个系统事件,比如f1除了返回一个不可显示的键值112外,还会引发帮助事件,在右键时,除了会引发mouse事件外,还会引发右键菜单事件,对我们写手来说,有些事件是不用处理的,因为系统对它返回的值不会引起程序不当的后果,当然我们也可以利用某种事件自己编一个事件处理函数。其实只要弄懂了哪些是系统事件(严格说来所有事件都是),比如f1引起的help事件,我们就可以分两步来屏蔽f1按键,一是屏蔽它的键盘事件,二是屏蔽它引发的系统事件help,但正如我前面所讲的,f1的键盘事件对我们的程序是毫无影响的,所有我们只要用屏蔽它引发的help事件就可以了,至于其它的几个功能键,并没有引发系统事件,只要屏蔽它本身的键盘事件就ok了,比如f5它会刷新屏幕等等,只要分清了系统事件和键盘事件,脚本就出来了:
-->
<Script Language=VBScript>
sub window_onhelp()'屏蔽f1的系统事件
window.event.returnValue=false
window.event.cancelBubble=true
end sub

sub document_onkeydown()'屏蔽功能键f2f3f4f5f6f10f11,取得它们值的方法我在前面的文章讲过。
   dim intKeyCode
   intKeyCode=window.event.keyCode 
  select case intKeyCode
  case 113,114,115,116,117,121,122
   window.event.keyCode=0
   window.event.returnValue=false
   window.event.cancelBubble=true
  End select
end sub

sub document_oncontextmenu()'屏蔽右键引发的系统菜单事件
   window.event.returnValue=false
   window.event.cancelBubble=true
end sub
</Script>
<!--
大家可以根据这些原理做出更多更完善的屏蔽函数
-->



----
網易之左右無人给我留言

为了与更多的朋友交流,我已申请脚本技术版版卒    

[关闭][返回]