你可以使用
document.activeElement
为了活跃起来
input
元素。一旦你得到
输入
实例,使用
closest()
li
和
next()
移动到下一个
锂
$("li").on("click", function() {
$("li").find("input").hide();
$(this).find("input").show().focus();
});
$('body').keypress(function(e) {
if (e.which == 53) {
e.preventDefault();
let li, input;
if (document.activeElement.tagName == "BODY") {
input = $('li input').first();
} else {
li = $(document.activeElement).closest('li');
input = li.next().find("input");
}
input.show();
input.focus();
}
});
li input {
display: none;
}
li {
cursor: pointer;
border: 1px solid red;
margin: 5px;
padding: 10px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<ul class='list'>
<li>a <input value='' /></li>
<li>b <input value='' /></li>
<li>c <input value='' /></li>
<li>d <input value='' /></li>
<li>e <input value='' /></li>
<li>f <input value='' /></li>
</ul>