文档章节

页面按钮支持键盘快捷键替代

streamlong
 streamlong
发布于 2017/04/28 17:30
字数 305
阅读 26
收藏 0

JSP界面:

<button type="button"  onkeydown="keyDown();"  onclick="resetForm();" >重置(ctrl+z)</button>

JS代码:

//判断是否是IE浏览器 
var ie = (document.all) ? true : false;
//设置页面快捷键 
function keyDown(e){  
  if(ie){
         //IE浏览器    
         if(e.ctrlKey && e.keyCode == 90){//重置按钮     ctrl+z
               event.keyCode=0;      
               event.returnValue=false;      
               resetForm();    
          } else if(e.ctrlKey && e.keyCode == 80){//打印按钮   ctrl+p
               event.keyCode=0;      
               event.returnValue=false;      
               printForm();    
          } else if(e.keyCode == 34) {//保持按钮    enter改成page down 
               formSubmit();
          }    
  } else {    
          //非IE浏览器    
          if(e.ctrlKey && e.keyCode == 90){//重置按钮     ctrl+z
               event.keyCode=0;      
               event.returnValue=false;      
               resetForm();    
               return false;
          } else if(e.keyCode == 80){//打印按钮   ctrl+p
              event.keyCode=0;      
              event.returnValue=false;      
              printForm();    
              return false;
          } else if(e.keyCode == 34) {//保持按钮    enter改成page down  
              formSubmit();
              return false;
         }  
    }
}
 document.onkeydown=keyDown;            

这一步是为了阻止外接设备扫描完成后,会自动触发enter键提交的问题

//键码获取
$(document).keyup(function (event) {
	if(event.keyCode == 13) {
	      event.preventDefault();
	};
 }); 

这一步是在页面初始化的时候,文本框自动聚焦光标

 $(document).ready(function() {
        setTimeout(function(){//采用这种方式聚焦光标,是因为初始化页面时,项目框架自带的请求进度滚动条覆盖了聚焦文本框的光标
        	$("#expressNo").focus();
        },1500);
            
      $("#expressNo").on("change", function() {
           var inputs = $("input[id^=tscode]");
           for(var i = 0; i < inputs.length ; i++) {
                var input = inputs[i];
                if(input.value == null || input.value == "") {
                      input.focus();
                      break;
                 }
            }
      });
 });
        

© 著作权归作者所有

共有 人打赏支持
streamlong

streamlong

粉丝 21
博文 45
码字总数 16725
作品 0
杭州
这些ABBYY FineReader中的小技巧你了解不?

  使用ABBYY FineReader 12 OCR文字识别软件工作即快速又简单,软件自身常常可以自行处理一切工作,用户只需点击几下软件中的‘主要’按钮。不过,有时要想获得更好的质量结果,或 者解决某...

ABBYY
2016/04/27
525
0
windows 10常用快捷键汇总

win10快捷键大全大家可以来了解一下,今天小编带来了win10常用快捷键,很多朋友喜欢使用快捷键来操作电脑,那么Windows10系统有哪些新的快捷键呢 • 贴靠窗口:Win +左/右> Win +上/下>窗口可...

三极行者
06/26
0
0
在几何画板中如何制作滚动按钮

在使用几何画板的过程中,很多的用户朋友都遇到过页面中内容较多,无法全部显示等情况,面对这种情况我们可以通过“滚动”按钮控制显示内容在屏幕内滚动。下面我们就来给大家介绍介绍几何画板...

学术研究软件
2016/04/08
30
0
20 款处理键盘事件的 JavaScript 库

键盘事件可以提高网站的易用性,提高用户与网站的交互体验,或者是页面需要通过键盘输入来触发事件。这些都非常有必要使用快捷键或者是键盘输入条目。 将这些事件处理整合到 HTML 文档中,通...

oschina
2014/03/05
7.9K
15
开源速记引擎--Plover-OpenSten

Plover,是一个开源的速记引擎。它允许个人替代他们的键盘并以超过每分钟200字的速度写入任何程序。 特性: Plover 不是你常规的速记软件,它包含了许多使它成为一个优秀的键盘替代品的特性。...

匿名
2016/10/23
1K
1

没有更多内容

加载失败,请刷新页面

加载更多

linux 系统的运行级别

运行级别 运行级别 | 含义 0 关机 1 单用户模式,可以想象为windows 的安全模式,主要用于修复系统 2 不完全的命令模式,不含NFS服务 3 完全的命令行模式,就是标准的字符界面 4 系统保留 5 ...

Linux学习笔记
今天
2
0
学习设计模式——命令模式

任何模式的出现,都是为了解决一些特定的场景的耦合问题,以达到对修改封闭,对扩展开放的效果。命令模式也不例外: 命令模式是为了解决命令的请求者和命令的实现者之间的耦合关系。 解决了这...

江左煤郎
今天
3
0
字典树收集(非线程安全,后续做线程安全改进)

将500W个单词放进一个数据结构进行存储,然后进行快速比对,判断一个单词是不是这个500W单词之中的;来了一个单词前缀,给出500w个单词中有多少个单词是该前缀. 1、这个需求首先需要设计好数据结...

算法之名
昨天
15
0
GRASP设计模式

此文参考了这篇博客,建议读者阅读原文。 面向对象(Object-Oriented,OO)是当下软件开发的主流方法。在OO分析与设计中,我们首先从问题领域中抽象出领域模型,在领域模型中以适当的粒度归纳...

克虏伯
昨天
1
0
Coding and Paper Letter(四十)

资源整理。 1 Coding: 1.Tomislav Hengl撰写的非官方作者指南:Michael Gould•Wouter Gerritsma。 UnofficialGuide4Authors 2.R语言包rwrfhydro,社区贡献的工具箱,用于管理,分析和可视化...

胖胖雕
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部