js 键盘监听事件
2017-08-25 14:30
585 查看
今天在模仿百度一下的页面,实现搜索框的效果。通过baidu的接口实现了输入数据的提示,当我给键盘添加监听事件的时候就出了问题。
首先是监听这个输入框里面的内容更改时 就改变提示的内容。所以我给他添加了onkeyup的事件
后面由于要实现按下上下键实现选中不同的li我就又添加了点击事件onkeydown
然后发现当触发了向下键按下的时候,选中的是改变了,但是当我松开按键的时候又出发了Onkeyup的事件,那么怎么控制触发了onkeydown后就不触发onkeyup呢?这个可以使用阻止事件发生,不过一般情况下我们不会同时对一个元素同时使用两个方法,分开使用,或者通过监听特定的event的事件来使用。
比如
首先是监听这个输入框里面的内容更改时 就改变提示的内容。所以我给他添加了onkeyup的事件
$("#txt").on("keyup",function(event){ var txt = $("#txt").val(); if(event.keyCode != 38 && event.keyCode != 40){ getData(txt); } });
后面由于要实现按下上下键实现选中不同的li我就又添加了点击事件onkeydown
$("#txt").on("keydown",function(event){ if(event.keyCode == 38 || event.keyCode == 40){ changeSelect(event.keyCode); return false; } });
然后发现当触发了向下键按下的时候,选中的是改变了,但是当我松开按键的时候又出发了Onkeyup的事件,那么怎么控制触发了onkeydown后就不触发onkeyup呢?这个可以使用阻止事件发生,不过一般情况下我们不会同时对一个元素同时使用两个方法,分开使用,或者通过监听特定的event的事件来使用。
比如
$("#txt").on("keydown",function(event){ if(event.keyCode == 38 || event.keyCode == 40){ changeSelect(event.keyCode); }else{ } }); $("#txt").on("keyup",function(event){ var txt = $("#txt").val(); if(event.keyCode != 38 && event.keyCode != 40){ getData(txt); } });
相关文章推荐
- JS键盘监听事件的键盘码
- js 获取当前焦点所在的元素、给元素和input控件添加键盘监听事件、添加页面级的键盘监听事件
- js和jquery实现监听键盘事件示例代码
- js和jquery实现监听键盘事件示例代码
- JS监听键盘事件
- js监听键盘事件示例代码
- JS 键盘监听事件 enter 13
- JS键盘监听事件的键盘码
- js实现键盘监听事件
- js监听键盘方向键事件
- js,jq监听键盘的组合键事件
- js监听键盘方向键事件
- js监听键盘事件的方法_原生和jquery的区别详解
- cocos2d JS 监听键盘触摸响应事件(cc.EventListener.KEYBOARD)
- js和jquery实现监听键盘事件示例代码
- js监听鼠标点击和键盘点击事件并自动跳转页面
- 使用JS监听键盘两个组合键触发的事件
- js监听键盘事件
- JS键盘事件监听
- js监听键盘事件示例代码