我正在使用jQuery 1.12.我希望DIV能够捕获按键(特别是向下箭头),当它具有焦点时.所以我跟着这个
$('div.select-styled').bind('keydown',function(event) { console.log(event.keyCode); elt = $(this).search(".select-options li:hover"); console.log(elt); switch(event.keyCode){ // case up case 38: console.log(“up pressed.”) break; case 40: console.log(“down pressed”) break; } });
但这并没有抓住按键.在这里看我的小提琴 – http://jsfiddle.net/cwzjL2uw/10/.单击“选择状态”菜单,或单击“姓氏”字段,然后单击“选项卡”以将焦点放在下一个DIV上.但是,当该菜单具有焦点时,单击任何键不会激活上面的处理程序,至少在Mac Chrome或Firefox上没有.
感谢任何帮助,–
解决方法
问题是,当你按Tab键时,焦点是.select而不是.select-styled div元素,因为.select是保存其余元素的父元素.所以你可能需要将你的keydown绑定到.select上.
$(".select").on('keydown',function(event) { console.log(event.keyCode); elt = $(this).search(".select-options li:hover"); console.log(elt); switch(event.keyCode){ // case up case 38: break; case 40: break; } });