在主页上,我有一个菜单栏在页面加载时不可见(即在可见区域上方的屏幕外),并且一旦滚动位置超过50px就会从顶部向下移动(动画)以显示为常规(固定)导航菜单栏。这是通过jQuery完成的。当页面完全滚动到顶部时,菜单栏会再次向上/向上移动。
但出于辅助功能的原因,当有人多次使用Tab键进行聚焦并选择该导航栏中的菜单项(不滚动)时,菜单也会出现。
作为第一次测试,我尝试了这个功能:
jQuery(document).ready(function() {
jQuery('#menu-item-55').focus(function() {
alert("yes!");
});
});
(稍后会触发将菜单带入页面可见区域的动画)
如果我在获得焦点的表单字段上使用它,则此测试函数有效,但它不会在导航菜单中的链接上工作,显然是因为focus()
仅适用于表单元素。
有没有办法让它也能用于链接,还是有其他任何方法可以让我检测链接的焦点?
答案 0 :(得分:0)
我自己找到了答案:
focus()
无法处理链接,但focusin()
确实!
答案 1 :(得分:0)
如果你正在使用jQuery 1.6+,那么你可以使用:focus选择器
$(document).ready(function() {
if ($('#menu-item-55').is(':focus')) {
alert("yes!");
});
});