我如何瞄准或聚焦当输入被聚焦时激活的下拉列表li
How do i target or focus drop-down li which is active when a input is focused
JQUERY
$(".share-drop .dropdown-notif").keydown(function (e) {
e.preventDefault();
$(this).parents('.share').find('.share-drop .dropdown-notif').show();
if ($(this).val() == '') {
$('.share-drop .dropdown-notif').hide();
}
if (e.which == 40) {
var next = $('.selected').removeClass('selected').next('li');
next = next.length > 0 ? next : $('.focus li:eq(0)');
next.addClass('selected').children('a').focus();
} else if (e.which == 38) {
var prev = $('.selected').removeClass('selected').prev('li');
prev = prev.length > 0 ? prev : $('.focus li').last();
prev.addClass('selected').children('a').focus();
}
});
我有一个下拉选项,它将在输入文本的keyup功能上触发。我需要使用我的上下箭头键来选择这些选项。我一直在尝试使用keydown,因为我无法进一步移动。有人能帮我吗。提前谢谢。
这是DEMO
我对你的小提琴做了一些更改,在你打字后,它开始为上下键工作;例如键入"te",然后上下按:
http://jsfiddle.net/c9U3s/2/
keydown事件绑定需要在输入元素本身上,并且需要允许preventDefault:
$(".input-hold input").keydown(function (e) {
//e.preventDefault();
你需要一个初始选择的类,这样你的逻辑才能成功地启动,所以我把它添加到HTML:中
<li class="selected"><a>testmail@test.com</a>
我认为还有几个bug需要解决(例如,当你按下向下键到达列表末尾时会发生什么?(,但这有望让你开始。
这向您展示了如何控制下拉列表的滚动顶部,以便您可以滚动查看所选元素:
http://jsfiddle.net/c9U3s/3/
但同样,需要做一些工作来完善它,使其真正好看。
相关文章:
- 激活chrome上的chrome.notifications对象
- 提示使用服务器端事件处理程序激活JavaScript
- 将事件聚焦/模糊在可编辑内容的元素上
- jQuery自动完成阻止选择后聚焦
- 如何从外部页面激活非默认引导选项卡
- 选项卡侦听器未被来自后台脚本的消息激活
- 使用向下箭头键(与tab键一样)聚焦下一个输入
- 基于localStorage的Meteor激活模板
- 当没有文本输入聚焦时检测空格键按下
- 如何通过按键激活按钮应用CSS效果
- 如何移除或改进:在Bootstrap Carousel上聚焦风格
- 在BoilerplateJS浏览器加载所有脚本(在其他模块中),而不考虑激活的模块
- 我必须点击两次才能激活任何按钮操作(离子/角度)
- 流星:点击激活其他模板
- 如何在悬停和聚焦时打开引导导航菜单
- 关闭在加载时激活,而不是复选框更改
- 如何通过单击主菜单栏的子菜单来激活/聚焦仪表板UI选项卡
- 激活:当页面加载Javascript时聚焦
- 我如何瞄准或聚焦当输入被聚焦时激活的下拉列表li
- 如何清除触摸屏“touched”;按钮聚焦,激活,悬停