【发布时间】:2019-05-27 05:25:15
【问题描述】:
我正在尝试让我的应用程序支持带有无序列表中链接的向上/向下箭头。
我正在复制https://jsfiddle.net/cse_tushar/5LM4R/,它几乎可以满足我的需要。但是,我需要能够按回车键并导航焦点所在的链接。
我的无序列表看起来像:
<ul>
<li><a href="#">First Link</a></li>
<li><a href="#">Second Link</a></li>
<li><a href="#">Third Link</a></li>
</ul>
我的 jQuery 看起来像(目前仅用于向下箭头):
$(document).keyup(function(e) {
var focused_li, next;
if (e.which === 40) { // Down arrow
focused_li;
if (focused_li) {
alert("FOCUSED"); // NOT ALERTING
focused_li.find("a").focusout();
next = focused_li.next();
if (next.length > 0) {
return console.log("there is a next");
} else {
return console.log("there is no next");
}
} else {
focused_li = $("ul li").eq(0);
focused_li.find("a").focus()
}
} else if (e.which === 38) { // Up arrow
} else {
}
});
这是一个 JSFiddle:https://jsfiddle.net/p48fkw0v/
目前,它没有提醒我在哪里有 alert("FOCUSED"),我无法解决这个问题。
【问题讨论】:
-
有一个
if (focused_li),但当代码到达if时,它还没有设置为任何值。你的意思是把它设置成什么吗?也许您打算将focused_li移到此函数之外,进入全局范围?
标签: javascript jquery html keyboard keyboard-shortcuts