Atitit。监听键盘上下左右方向键事件java js jquery c#.net

Atitit。监听键盘上下左右方向键事件java js jquery   c#.net

 

1. Keyword1

2. 通用的实现流程1

3. Js的实现1

3.1. Bind control ,event handeler1

3.2. key_press_hadler4up2

4. Java的实现3

5. C# .net winformn4

6. 参考4

 

1. Keyword

键盘事件  方向键   上下左右  按键监听

 

2. 通用的实现流程

Bind (control,key_eventHandel)

key_eventHandel

获得当前控件

var now=$(".selected");

 

3. Js的实现

3.1. Bind control ,event handeler

 

key_eventHandel)

document.onkeydown=function(event){

var e = event || window.event || arguments.callee.caller.arguments[0];

if(e && e.keyCode==40 || e && e.keyCode==39){//,

//alert('40=下键,39=右键');

var now=$(".selected");

key_press_hadler(now);

return false;

}

if(e && e.keyCode==38 || e && e.keyCode==37){//,

//alert('38=上键,37=左键');

var now=$(".selected");key_press_hadler4up(now);

}

};

 

作者::  ★(attilax)>>>   绰号:老哇的爪子  全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊  汉字名:艾龙,  EMAIL:[email protected]

转载请注明来源: http://blog.csdn.net/attilax

 

3.2. key_press_hadler4up

 

function key_press_hadler(obj)

{

   //  alert(obj);

 var next=$(obj).next();

 if(next.length==0){return;};

 

 window.setTimeout(function(){set_page_info(next)},10);

//  ;

 

 next.addClass("selected");  $(obj).removeClass("selected");

}

 

function key_press_hadler4up(obj)

{

   //  alert(obj);

 var next=$(obj).prev();

  if(next.length==0){return;};

 

  $(obj).removeClass("selected");

 next.addClass("selected");

 

  window.setTimeout(function(){set_page_info(next)},10);

}

4. Java的实现

JFrame frame = new JFrame("") {

// 重写这个方法

 

// @Override

protected void processWindowEvent(WindowEvent e) {

System.out.println(e.getID());

if (e.getID() == WindowEvent.WINDOW_CLOSING) {

// KeyEvent evt = (KeyEvent) e;

// if (evt.getKeyCode() == KeyEvent.VK_ESCAPE &&

// evt.isControlDown()) {

//

// }

// MsgBox.show("close  a");

 

 

Android的实现

 

 

Android手机常用的三个键,home键,back键及menu键。
在应用程序里我们经常会对它们经常进行一定的处理,方便用户使用。
首先我们要明确点击三个键时系统干了什么事,
如果没有进行监听处理,
点击home键时,系统默认只执行应用程序的当前显示的Activity的onStop()方法后跳出界面。
而点击back键时,系统默认执行的是应用程序当前Activity的finish()方法后跳出界面。
而点击menu键时,系统默认不进行任何处理。

 

2.监听Menu键,注意:在没有实体Menu键的机器上,只能在sdk版本10以下才会出现Menu键

@Override
 public boolean onKeyDown(int keyCode, KeyEvent event) {
  // TODO Auto-generated method stub
  if(keyCode==KeyEvent.KEYCODE_BACK&&event.getRepeatCount()==0){
//   event.startTracking();
   Toast.makeText(this, "监听返回键BACK", Toast.LENGTH_SHORT).show();
   dialog();
   return false;
  }else if(keyCode==KeyEvent.KEYCODE_MENU){
   Toast.makeText(this, "监听菜单键MENU", Toast.LENGTH_SHORT).show();
   return false;
  }//由于HOME键为系统键,此处不能捕获,需要重写onAttachedToWindow()
  else if(keyCode==KeyEvent.KEYCODE_HOME){
   Toast.makeText(this, "监听主页键HOME", Toast.LENGTH_SHORT).show();
   return false;
  }
  return super.onKeyDown(keyCode, event);
 }

 

5. C# .net winformn

C#winForm里键盘事件的响应
1,方向键和回车不能够在KeyDown事件里响应.解决方案是重写ProcessCmdKey
2,其原理并不清晰.base.ProcessCmdKey调用父类的键盘事件.
  KeyDown函数等于在父类里注册了一个事件响应代码.

//KeyDown事件里无法捕获方向键,回车.能捕获空格之类

        //但是是重写了之后,就不能捕获了.

        private void FrmKeyDown_KeyDown(object sender, KeyEventArgs e)

  //方向键事件的处理,只能重写ProcessCmdKey,重写的方法体可以自动生成,不用担心.

        protected override bool ProcessCmdKey(ref Message msg, Keys keyData)

 

6. 参考

 

winform键盘事件方向键的响应 - 博客园.html

android--监听按键_行者_新浪博客.html

android 键盘按键监听 - kakaxi1o1的专栏 - 博客频道 - CSDN.NET.html

winform键盘事件(方向键)的响应 - 纳米程序员 - 博客园.html

你可能感兴趣的:(Atitit。监听键盘上下左右方向键事件java js jquery c#.net)