javascript的键盘控制事件说明(2)


   document.onkeydown = keyDown
document.onkeyup = keyUp
if (ns4) document.captureEvents(Event.KEYDOWN | Event.KEYUP)


   keyUp() 函数与之相同,当一个键被放开时事件被激发,对象停止移动,并将active变量置为0:

复制代码 代码如下:


   function keyUp(e) {
  if (ns4) var nKey = e.which
  if (ie4) var ieKey = window.event.keyCode
  if (nKey==97 || ieKey==65)
  block.active = false
}


   下面是比较完整的程序:

复制代码 代码如下:


   function init() {
  if (ns4) block = document.blockDiv
  if (ie4) block = blockDiv.style
  block.xpos = parseInt(block.left)
  block.active = false
  document.onkeydown = keyDown
  document.onkeyup = keyUp
  if (ns4) document.captureEvents(Event.KEYDOWN | Event.KEYUP)
}
function keyDown(e) {
  if (ns4) {var nKey=e.which; var ieKey=0}
  if (ie4) {var ieKey=event.keyCode; var nKey=0}
  if ((nKey==97 || ieKey==65) && !block.active) { // if "A" key is pressed
    block.active = true slide()
  }
}
function keyUp(e) {
  if (ns4) {var nKey=e.which; var ieKey=0}
  if (ie4) {var ieKey=event.keyCode; var nKey=0}
  if (nKey==97 || ieKey==65) {
  block.active = false // if "A" key is released
  }
}
function slide() {
   if (block.active) {
    block.xpos += 5
    block.left = block.xpos
    status = block.xpos // not needed, just for show
    setTimeout("slide()",30)
   }
}

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjgyss.html