美文网首页
巧用setTimeout处理键盘事件

巧用setTimeout处理键盘事件

作者: 菜鸟也无忧 | 来源:发表于2019-06-17 20:32 被阅读0次

在前端开发中有时会用到处理键盘事件,如感应到回车,光标自动跳转到下一个输入框。

我的客户要求我加个功能:用键盘实现弹出一个页面(window.open),之前是IE浏览器,我就直接加了个组合键Ctrl+Enter就弹出页面。

document.onkeydown=function(){

if(event.ctrlKey&&event.keyCode == 13){

print('$(id}')

}

}

//弹出打印页

function print(arg) {

  var url = "<%=basePath %>********.action?id="+arg;

window.open(url,'newwindow','height=700,width=960,top=190,left=350,toolbar=no,menubar=no,scrollbars=yes,resizable=no, location=no,status=no');

}

后来浏览器换成Chrome,页面总是在新标签打开,不弹出了,研究了2天,发现在Chrome浏览器,点击链接打开页面时,如果按住了Ctrl,就是新打开标签页。那么,只要在打开标签页之前不让电脑感应到Ctrl键就行了,我想到了同步和异步的关系,按住Ctrl并感应到了就是同步,感应不到就是异步,然后就想到了延迟加载。

//将打开操作延迟加载,测试发现只要1毫秒就能实现

document.onkeydown=function(){

if(event.ctrlKey&&event.keyCode == 13){

window.setTimeout(function(){print('$(id}');},1);

}

}

相关文章

  • 巧用setTimeout处理键盘事件

    在前端开发中有时会用到处理键盘事件,如感应到回车,光标自动跳转到下一个输入框。 我的客户要求我加个功能:用键盘实现...

  • js巧用setTimeout实现异步事件

    setTimeout()本身就是一个异步函数,通过借用它可以实现异步事件处理。 在不使用的情况下,当焦点想从一个i...

  • 处理键盘事件

    介绍: 我们处理键盘事件时通常要写一大堆的代码,使用观察者模式虽然也可以实现,但是容易出错且非常麻烦,第三方库IQ...

  • Web之事件处理

    javascript处理事件 事件种类 基本事件(表单,window,键盘,鼠标) HTML5事件(网络,通信,拖...

  • js回调与异步编程

    回调与异步编程 一、回调函数的使用场景 异步编程。 事件监听、处理。 setTimeout、setInterval...

  • Android 学习笔记day10

    目录一、概述二、处理键盘事件(一)概述(二)测试-综合三、处理触摸事件(一)测试-移动位置(二)手势事件补充1、主...

  • selenium学习笔记2——键盘事件--Keys() 类

    Keys() 类提供了键盘上几乎所有按键的方法。 SendKeys 库专业处理键盘事件,能够模拟键盘操作。回车、T...

  • DOM(2) 事件操作

    1.事件 通过鼠标、键盘对浏览器页面所做的动作就是事件. 事件一旦发生需要有时间处理,该处理称为'事件驱动',...

  • 触摸,键盘事件处理流程

    1.整体流程 2.消息类型 3.按键消息派发过程 4.按键总体派发流程 ViewRoot中定义了一个ViewRoo...

  • iOS全局处理键盘事件

    最近做的项目中,有一个类似微信的聊天发送框,屏幕底端有一个输入框用textView来做,当textView成为第一...

网友评论

      本文标题:巧用setTimeout处理键盘事件

      本文链接:https://www.haomeiwen.com/subject/oefafctx.html