<span> <div> 局部 keydown ,keyup事件。页面部分div $(document) 无效,可能焦点,添加焦点。
前天改一个bug, js 实现的一个 面板拖拉,左右各两个列表,中间面板画线连接,页面左侧列表选中后,key 事件无效。右侧选中确有效,很奇怪,查看源码,左侧选中后,$(document).on("keydown",function(event){} 对左侧无效,由于无异常抛出,只能一点点代码。一个字,累。
确定页面部分div失去焦点,索性,给外面最大div 添加一个 获取焦点事件,解决 。
$("#myspan").attr("tabindex",0);
$("#myspan").focus();
The keydown event is sent to an element when the user first presses a key on the keyboard. It can be attached to any element, but the event is only sent to the element that has the focus. Focusable elements can vary between browsers, but form elements can always get focus so are reasonable candidates for this event type.
以上是从jquery文档中copy下的一段文本,它说明我们可以给form元素绑定keydown事件,因为它们可以获取焦点,但怎样去给div、span绑定呢?
答案就是tabindex这个属性
js中改变这个属性:jsObj.tabIndex
jquery : $(selector).attr("tabindex",value)
tabindex
元素的tabindex属性用来定义元素是否可以获取焦点,是否可以通过连续的焦点导航(一般情况是按tab键)获取焦点,与你获取焦点的顺序。
其值必须是整数值。
如果没有设置,或者设置的值不正确,则按照惯例执行。
如果是负数,用户不可以通过连续的焦点导航获取焦点,但可以用其他方式获取焦点。
如果是零,则可以通过连续的焦点导航获取焦点,按照惯例确定顺序。
如果是正数,则可以通过连续的焦点导航获取焦点,按照该值确定顺序。
div默认是得不到焦点的,可以为其设置tabindex属性使其可以获得焦点。也就可以绑定键盘事件。
事例 :
<span id="myspan"></span>
js:
$("#myspan").attr("tabindex",0);
$("#myspan").focus();
此文章来自网络转载
<span> <div> 局部 keydown ,keyup事件。页面部分div $(document) 无效,可能焦点,添加焦点。的更多相关文章
- 在JS/jQuery中,怎么触发input的keypress/keydown/keyup事件?
怎么触发keypress/keydown/keyup事件? 问题: 1.在之前的写的input后面添加了搜索按钮 2.input只有keyup事件,如下: $("#desktop_folde ...
- DataGridView在Cell编辑状态响应回车键下的KeyPress/KeyDown/KeyUp事件
我们知道由于DataGridView的单元格DataGridCell处于编辑的时候,当你按Enter键,那么DataGridView是不会激发KewPress/KeyDown/KeyUp这些事件的,因 ...
- angular js 的 ng-keyup 监听 keydown keyup事件获取 keyCode
参考这个页面.http://www.angularjshub.com/examples/eventhandlers/keyboardevents/ Html页面代码: <input ng-mod ...
- Vue2键盘事件:keydown/keyup...
Vue2键盘事件:keydown/keyup... 1.使用 <!DOCTYPE html> <html> <head> <title></tit ...
- keyDown keyPress keyUp 事件的区别
keyDown keyPress keyUp 事件的区别 一 触发顺序 显而易见,事件发生的顺序是: keydown --> keypress --> keyup 当按住一个键一段时间后 ...
- Winform下KeyDown,KeyPress,KeyUp事件的总结(转)
原文: http://www.cnblogs.com/xiashengwang/archive/2011/09/15/2578798.html 在winform程序中,经常会用到这几个事件用于控制数字 ...
- C#控件中的KeyDown、KeyPress 与 KeyUp事件浅谈
研究了一下KeyDown,KeyPress 和 KeyUp 的学问.让我们带着如下问题来说明: 1.这三个事件的顺序是怎么样的? 2.KeyDown 触发后,KeyUp是不是一定触发? 3.三个事件的 ...
- keydown、input 和 keyup 事件
keydown.keyup 属于键盘事件,input 属于文本事件. keydown:当用户按下键盘上的任意按键时触发,如果按住不放,会重复触发此事件. keyup:当用户释放键盘上的按键时触发. i ...
- keyup事件、keydown事件和input事件的区别
keydown.keyup 属于键盘事件,input 属于文本事件 详细说明: keydown:当用户按下键盘上的任意按键时触发,如果按住不放,会重复触发此事件. keyup:当用户释放键盘上的按键时 ...
随机推荐
- Android系统中提供的原子操作
代码的实现位于文件system/core/include/cutils中 http://androidxref.com/4.4.3_r1.1/xref/system/core/include/cuti ...
- sql2000下如何新建并使用dbml
默认新建的dbml只是支持sql2005及其以上版本. 但是现在是sql2000怎么办?我要是想要用linq to sql 的? 解决方案如下: 1首先打开cmd,在其中cd到sqlmetal.exe ...
- (转) Crittercism: 在MongoDB上实现每天数十亿次请求
MongoDB的扩展能力可以满足你业务需求的增长——这也是为什么它的名字来源于单词humongous(极大的)的原因.当然,这并不是说你在 使用MongoDB的路上并不会碰到一些发展的痛点.Critt ...
- JavaScript高级程序开发3笔记
Js对象 注意:js基本数据类型不是对象,但是"abc".match()这种,可以调用对象的方法,是因为调用方法是临时产生了一个wrapper的包装对象,this指向它: Js ...
- Ajax和JSON基础
Ajax (核心是XMLHttpRequest对象) 1.XMLHttpRequest对象: request=new XMLHttpRequest() 支持Firefox opera Safari ...
- JS实现登录页面记住密码和enter键登录
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>按 ...
- SQL基础知识
一.检索前5行数据 1.SQL Server和Access中使用SELECT时,可以使用TOP关键字来限制最多返回多少行 SELECT TOP 5 prod_name FROM Products; 2 ...
- 暑假集训(4)第三弹 -----递推(Hdu1799)
问题描述:还记得正在努力脱团的小A吗? 他曾经最亲密的战友,趁他绘制贤者法阵期间,暗中设下鬼打墙将小A 围困,并准备破坏小A正在绘制的法阵.小A非常着急.想阻止他的行动.而要阻止他,必须先破解鬼打墙. ...
- MySQL学习笔记之数据存储类型
说明:本文是作者对MySQL数据库数据存储类型的小小总结. Numeric Type (数字类型) 1.TINYINT.SMALLINT.MEDIUMINT.INT.BIGINT主要根据存储字节长度不 ...
- 屏蔽ubuntu桌面鼠标右键以及Ctrl Alt F*
1.屏蔽右键: xmodmap -e "pointer = 1 2 99"xmodmap -e 'pointer = 1 2 0 4 5 6 7 8 9' #xmodmap -e ...