|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你精通任何一门语言就最强大。现在来看,java的市场比C#大,C#容易入手,比较简单,java比较难js|页面页面中的键盘把持
CapturingKeystrokes
响应敲击键是电脑和人的基础互相感化。你能够把持任何一个键的按下和松开。起首我们先要
晓得怎样启动一个所谓的事务(event).上面是启动一个把键按下的"onkeydown"的事务.
document.onkeydown=keyDown
这里的keyDown是你所要编写的响应键盘的子程序。当你的扫瞄器读了以上的语句,它将会知
道哪一个键被按下了,然后启动子程序keyDown()。子程序的名字随你起了,在这里在子程序名
字前面不必要括号。获得哪一个键被按下却在Netscape和IE有所分歧。看以下代码,假如用的是
Netscaep,变量nKey将会失掉keycode,而让ieKey为0.相反,假如用的是IE,ieKey
为keycode而nKey为0:
代码:
functionkeyDown(e){
if(ns4){
varnKey=e.which;
varieKey=0
}
if(ie4){
varieKey=event.keyCode;varnKey=0
}
alert("nKey:"+nKey+"ieKey:"+ieKey);
}
document.onkeydown=keyDown
if(ns4)document.captureEvents(Event.KEYDOWN)
用键盘挪动元素
假设你想用键盘来启动你的滑动,你必要先晓得哪一个键被按了,然后用响应的子程序来滑动元
素.上面我们筹办用"A"键来启动滑动子程序.Netscape的"A"是97.而IE是65.也就
是说,nKey为97而ieKey为65.
代码:
functioninit(){
if(ns4)block=document.blockDiv
if(ie4)block=blockDiv.style
block.xpos=parseInt(block.left)
document.onkeydown=keyDown
if(ns4)document.captureEvents(Event.KEYDOWN)
}
functionkeyDown(e){
if(ns4){
varnKey=e.which;varieKey=0
}
if(ie4){
varieKey=event.keyCode;
varnKey=0
}
if(nKey==97||ieKey==65){
//if"A"keyispressedslide()
}
}
functionslide(){
if(block.xpos<300){
block.xpos+=5block.left=block.xposstatus=block.xpos
//notneeded,justforshow
setTimeout("slide()",30)
}
}
启动变量
我们这里先容一种办法:启动变量,来把持滑动的中断和启动.这个变量纪录了元素是不是在动
仍是不动.然后在滑动子程序里安排"if"语句,依据这个启动变量的值来决意是不是中断仍是
持续滑动.
代码:
functionslide(){
if(myobj.active){
myobj.xpos+=5
myojb.left=myobj.xpos
setTimeout("slide()",30)
}
}
利用onKeyUp和启动变量来把持滑动
onkeyup就是onkeydown相反,也就是说它用来对键起来这个事务做出反响的.
代码:
document.onkeydown=keyDown
document.onkeyup=keyUpif(ns4)
document.captureEvents(Event.KEYDOWN|Event.KEYUP)
上面就是一个完全的程序代码:
functioninit(){if(ns4)block=document.blockDivif(ie4)block=blockDiv.styleblock.xpos=parseInt(block.left)block.active=falsedocument.onkeydown=keyDowndocument.onkeyup=keyUpif(ns4)document.captureEvents(Event.KEYDOWN|Event.KEYUP)}functionkeyDown(e){if(ns4){varnKey=e.which;varieKey=0}if(ie4){varieKey=event.keyCode;varnKey=0}if((nKey==97||ieKey==65)&&!block.active){//if"A"keyispressedblock.active=trueslide()}}functionkeyUp(e){if(ns4){varnKey=e.which;varieKey=0}if(ie4){varieKey=event.keyCode;varnKey=0}if(nKey==97||ieKey==65){block.active=false//if"A"keyisreleased}}functionslide(){if(block.active){block.xpos+=5block.left=block.xposstatus=block.xpos//notneeded,justforshowsetTimeout("slide()",30)}}
你说是sun公司对她研究的透还是微软?针对自己工具开发的.net性能上肯定会站上风的。 |
|