jquery 实现div、span的keydown事件

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();

$("#myspan").keydown(function() { alert('Handler for .keydown() called.'); });
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值