JS 快捷键(热键)的设置与使用 学习

1)原理,document.onkeydown 监听键盘输入:

JavaScript eval() 函数 eval(string)   string表示:要计算的 JavaScript 表达式或要执行的语句

JS中 热键对应 的KeyCode

代码如下:

<script type="text/javascript">

var F1_KEYCODE = 112;
var F2_KEYCODE = 113;
var F3_KEYCODE = 114;
var F4_KEYCODE = 115;
var F5_KEYCODE = 116;
var F6_KEYCODE = 117;
var F7_KEYCODE = 118;
var F8_KEYCODE = 119;
var F9_KEYCODE = 120;
var F10_KEYCODE = 121;
var F11_KEYCODE = 122;
var F12_KEYCODE = 123;
//是否按住ctrl键
var isCtrl=false;
//定义了一些string变量,用于放需要执行的js语句(具体定义参照最下方)
var F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,ENTER,SHIFT,CTRL,CTRL_S,CTRL_Z,CTRL_X,CTRL_N,CTRL_P,KEY_37,KEY_39,CTRL_D;

document.οnkeydοwn=function(evt){
var event = evt?evt:window.event;
var node = event.srcElement?event.srcElement:event.target;
if(event.keyCode==F1_KEYCODE){
event.keyCode=0;
event.returnValue=false;
if(evt){
event.preventDefault();
}
eval(F1);
}else if(event.keyCode==F2_KEYCODE){
event.keyCode=0;
event.returnValue=false;
if(evt){
event.preventDefault();
}
eval(F2);
}else if(event.keyCode==F3_KEYCODE){
event.keyCode=0;
event.returnValue=false;
if(evt){
event.preventDefault();
}
eval(F3);
}else if(event.keyCode==F4_KEYCODE){
event.keyCode=0;
event.returnValue=false;
if(evt){
event.preventDefault();
}
eval(F4);
}else if(event.keyCode==F5_KEYCODE){
event.keyCode=0;
event.returnValue=false;
if(evt){
event.preventDefault();
}
eval(F5);
}else if(event.keyCode==F6_KEYCODE){
event.keyCode=0;
event.returnValue=false;
if(evt){
event.preventDefault();
}
eval(F6);
}else if(event.keyCode==F7_KEYCODE){
event.keyCode=0;
event.returnValue=false;
if(evt){
event.preventDefault();
}
eval(F7);
}else if(event.keyCode==F8_KEYCODE){
event.keyCode=0;
event.returnValue=false;
if(evt){
event.preventDefault();
}
eval(F8);
}else if(event.keyCode==16){//shift
eval(SHIFT);
}else if(event.keyCode==17){//ctrl
eval(CTRL);
}else if(isCtrl&&event.keyCode==83){//ctrl_s
eval(CTRL_S);
}else if(isCtrl&&event.keyCode==90){//ctrl_z
eval(CTRL_Z);
}else if(event.ctrlKey && event.keyCode==78){//n
eval(CTRL_N);
}else if(event.ctrlKey && event.keyCode==80){//p
eval(CTRL_P);
}else if(event.ctrlKey && event.keyCode==83){//s
eval(CTRL_S);
}else if(event.keyCode==37){
eval(KEY_37);
}else if(event.keyCode==39){
eval(KEY_39);
}else if(event.ctrlKey&&event.keyCode==88){//ctrl_x
eval(CTRL_X);
}else if(event.ctrlKey&&event.keyCode==68){//ctrl_d
eval(CTRL_D);
}
}

</script>

2)定义快捷键触发的事件

SHIFT="doGridMulSelect();";

CTRL="isCtrl=true;doGridMulSelect();";
KEY_37="key_37();";
KEY_39="key_39();";
CTRL_S="if($('#patName').html()!=''){doTempSave();}";
F1="if($('#patName').html()!=''){getGoToList();}";
CTRL_X="doGridAddRow2();";
CTRL_D="doGridDeleteRow();";


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值