Cha*_*ino 0 html javascript jquery focus setfocus
是否有任何使左箭头的行为类似于标签按钮(将焦点设置为下一个可聚焦项目),右箭头的行为类似于shift +标签(将焦点设置为上一个可对焦项目)?
我到目前为止:
$().keypress(function(e) {
if (e.keyCode == 37) {
alert('I want to do a shift-tab');
}
else if (e.keyCode == 39) {
alert('I want to do a tab');
}
});
Run Code Online (Sandbox Code Playgroud)
但谷歌并没有那么有用所以我认为我会在这里快速发布一些帖子,而谷歌更多.
谢谢!
哦,这纯粹是为了FF3.0所以我不需要担心其他浏览器的麻烦.
你到目前为止看起来很好.
您可以保留一个"可聚焦"项目列表,只需遍历列表,保持指向当前项目的指针:
// or $('input')..depends what you want to focus on
var nodes = $('.focusable'), idx = -1;
$().keypress( function(e) {
if (e.keyCode === 37) {
nodes.get(++idx).focus();
}
else if (e.keyCode === 39) {
nodes.get(--idx).focus();
}
});
Run Code Online (Sandbox Code Playgroud)
这只是一个粗略的轮廓.idx在做某事之前你需要检查一下,以确保你没有滑过可聚焦元素数组的开头或结尾.当用户在文本框内时,您还需要小心调用它.