首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用JS监听键盘事件

事件说明 我们将键盘事件的所有属性和方法打印出来(这里以1为例) document.onkeydown = function(event){ console.log(event)...; }  这里面有几个需要注意的属性 key:按键的名称 keyCode:按键的键码 altKey、ctrlKey、shiftKey:当组合(如ctrl+c)时,ctrlKey会变为...true 一、查看所有键 (获取event.key 的按键名称)(获取event.keyCode 的键码) document.onkeydown = function(event){...console.log(":"+event.key+"键:"+event.keyCode); } 下任意按键后的效果: 二、监听回车事件 这里以回车键(键码为13)为例 ,如果需要监听不同的按键...("下了回车键") } } 三、监听组合键 这里以CTRL+A为例 altKey:Alt+*组合键时为true ctrlKey:Ctrl+*组合键时为true shiftKey:

11.4K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    双击事件(dblclick)时,不触发鼠标(mousedown) 动作事件

    在一个dom节点的事件绑定,如果同时绑定了dblclick和mousedown那么想要执行双击事件(dblclick)时能就会触发两次mousedown事件。...在单击的时候(也就是鼠标的时候)不会执行双击,但是双击的时候会执行两次单击再执行双击事件。 解决的思路:要想双击时不执行单击事件,就使用定时器清除掉两个单击事件,留下一个双击事件。...item)"> handleMousedown(event, node, index) { clearTimeout(this.timeOut); // 清除第一个鼠标单击事件...{ clearTimeout(this.timeOut) console.log(event.target, 'handleDblclick'); }, 关于实现原理 在setTimeout 的...time=200,大家知道js事件循环机制,点击事件会添加一个任务队列。

    66920

    js事件(event)

    mouseenter)、鼠标是否离开了网页(mouseout或mouseleave)、浏览器是都加载完了页面上的资源(window.onload)、文档树是否生成(DOMContentLoaded)、键盘上的某个键是否...function(){alert("事件“);} 事件的绑定相当于做计划,绑定在事件上的方法执行了就相当于计划的事发生了,所以一般情况事件属性的前面都有”on“,如:ele.onclick, ele.onmousedown...log(e.keyCode):keyCode是是当前的这个键值对应的ASCII码 switch(e.keyCode){ case 37://键盘上的左键     ele.style.left = ele.offserLeft...;当你在一个form表单里点击提交按钮时网页会产生一个行为病刷新网页,当你网页上滚动鼠标滚轮的时候,页面的滚动条会滚动等等;这些都叫事件的默认行为,如果想把这些默认行为取消了,相应的js代码如下: a.onclick...在W3C的标准是在同一事件上,先绑定的方法先执行,并且不能重复绑定同一个方法在同一个事件上,但是IE6、7、8,如果绑定的方法少于9个,执行的顺序是相反的,超过9个,执行顺序就是混乱的,这些IE的问题都是比较严重的

    6.8K30

    【Android 事件分发】MotionEvent.ACTION_DOWN 事件分发流程( Activity | ViewGroup | View )

    Android 事件分发 系列文章目录 【Android 事件分发】事件分发源码分析 ( 驱动层通过中断传递事件 | WindowManagerService 向 View 层传递事件 ) 【Android...事件分发】事件分发源码分析 ( Activity 各层级的事件传递 | Activity -> PhoneWindow -> DecorView -> ViewGroup ) 【Android 事件分发...】事件分发源码分析 ( ViewGroup 事件传递机制 一 ) 【Android 事件分发】事件分发源码分析 ( ViewGroup 事件传递机制 二 ) 【Android 事件分发】事件分发源码分析...( ViewGroup 事件传递机制 三 ) 【Android 事件分发】事件分发源码分析 ( ViewGroup 事件传递机制 四 | View 事件传递机制 ) 【Android 事件分发】事件分发源码分析...源码分析 ( OnItemTouchListener 事件监听器源码分析 二 ) 【Android 事件分发】MotionEvent.ACTION_DOWN 事件分发流程( Activity |

    1.7K20

    JS-事件之鼠标、键盘都能控制的下拉选框效果

    event.cancelBubble = true; };//以上是阻止冒泡的判断语句 menu.style.display = "block"; //添加键盘事件...)和addEventListener(通用浏览器添加事件监听器)。...提示: 1、点击三角时需阻止事件冒泡 二、 展开菜单之后,在document对象上绑定keyup事件,(键盘事件不是某个具体的对象了,所以要帮到document上面来)向下方向键,选中下一个选项...,向上方向键,选中上一个选项,下回车键菜单收起,显示选中项 提示: 1、 声明一个全局的index变量初值为-1 2、 向下方向键时index递增,当递增至大于等于菜单选项的总数时恢复为0 3...、 向上方向键时判断index,如若小于等于0则设为菜单选项的总数,之后递减index 4、 根据index值将对应的选项设为当前(灰色背景) 5、 下回车键时将对应选中的选项设为菜单标题,且将所有选项设为无背景

    3.2K50

    JSDOM事件流总结

    一、事件捕获 1.概念 事件捕获:从document到触发事件的那个节点,自上而下的去触发事件。...2.图解 事件捕获 二、事件冒泡 1.概念 事件冒泡:从触发事件的那个节点一直到document,是自下而上的去触发事件。...2.图解 事件冒泡 三、DOM事件流 1.概念 DOM事件流相当于将事件捕获与事件冒泡两者结合起来,事件触发的顺序是先进行事件捕获阶段 => 目标元素阶段 => 事件冒泡阶段。...2.图解 DOM事件流 3.示例 绑定事件方法(addEventListener)的第三个参数是控制事件触发顺序的,默认为false,即事件冒泡;若为true,即事件捕获。 <!...1.用法 #当在事件流执行过程,需要阻止后续的事件的执行,可以使用以下语法 event.stopPropagation(); 2.示例 <!

    3.9K30

    js移动端touch事件

    触摸事件是在移动设备(如智能手机或平板电脑)上查看页面时触发的事件。 它们允许您跟踪多点触摸事件。...我们有4个触摸事件: touchstart 触摸事件已经启动(触摸表面) touchend 一个触摸事件已经结束(表面不再被触摸) touchmove 触摸移动手指(或任何接触设备的东西)在表面移动 touchcancel...触摸事件已被取消 每当一个触摸事件发生,会触发一个触摸事件: const link = document.getElementById('my-link') link.addEventListener...clientX / clientY 无论是否滚动,鼠标指针相对于浏览器窗口的x和y坐标 screenX / screenY 屏幕坐标鼠标指针的x和y坐标 pageX / pageY 页面坐标(包括滚动...)鼠标指针的x和y坐标 目标被触及的元素

    8.9K20

    JS】310- 使用 focusout 事件,解决 iOS 键盘收起不归位问题

    当用户在手机上输入联系电话时,IPhone键盘会弹出,此时iphone上为了让用户可以看到电话输入框,会将整个页面整体向上移动(不然键盘会遮住电话输入框)。...此时,实际上页面顶部是离开了我们的视口一部分距离的(我们看到界面消失了一行输入框)。 键盘收起时页面无法还原归位 然而当用户输入完成关闭键盘后,键盘虽然收起了,但页面位置却不会还原。...那么现在问题就是要给表单 4 个输入框全部加上 blur 事件,然后在 handler 调用 window.scrollTo。...事件代理: 即,我们把事件监听放到顶部元素上;然后定义一个 inputBlur 的函数等待触发。...这样的话,在 blur 时会触发我们的 window.scrollTo(0,0) 导致页面往下滚一,接着 姓名输入框 聚焦,于是键盘继续弹起---这导致页面再次向上移动。

    3.4K10

    Js篇-面试题9-请说一Js事件循环机制

    JS 里的一种任务分类方式分为: 同步任务和异步任务 虽然 JS 是单线程的,但是浏览器的内核却是多线程的,在浏览器的内核不同的异步操作由不同的浏览器内核模块调度执行,异步任务操作会将相关回调添加到任务队列...处理的方式都不同 这些异步操作是由浏览器内核来执行的,浏览器内核上包含 3 种 webAPI,分别是 DOM Binding(DOM绑定)、network(网络请求)、timer(定时器)模块 按照这种分类方式:JS...的执行机制是 首先判断 js 代码是同步还是异步,不停的检查调用栈是否有任务需要执行,如果没有,就检查任务队列,从中弹出一个任务,放入栈,如此往复循环,要是同步就进入主进程,异步就进入事件表 异步任务在事件表中注册函数...,当满足触发条件后,被推入事件队列 同步任务进入主线程后一直执行,直到主线程空闲时,才会去事件队列查看是否有可执行的异步任务,如果有就推入主进程 以上三步循环执行,这就是事件循环(event loop...),它是连接任务队列和控制调用栈的 ---- 在面试当中事件循环机制问得也比较多,如果您有疑问,欢迎评论下方留言,一起学习探讨

    1.1K10
    领券