代码之家  ›  专栏  ›  技术社区  ›  Johannes

jQuery检测非表单元素(nav菜单项)是否有焦点

  •  0
  • Johannes  · 技术社区  · 7 年前

    但出于可访问性的原因,当有人多次使用tab键聚焦并选择导航栏中的菜单项时(无需滚动),菜单也应该出现。

    作为第一次测试,我尝试了这个函数:

    jQuery(document).ready(function() { 
        jQuery('#menu-item-55').focus(function() {
                     alert("yes!");
        });
    });
    

    如果我在获得焦点的表单字段上使用这个测试函数,它会起作用,但在导航菜单中的链接上不起作用,显然是因为 focus() 仅适用于形状元素。

    有没有什么方法可以让这也适用于链接,或者有没有其他方法可以让我检测链接上的焦点?

    2 回复  |  直到 7 年前
        1
  •  0
  •   Johannes    7 年前

    我自己刚刚找到答案:

    focus() focusin() !

        2
  •  0
  •   greatgumz    7 年前

    :focus

    $(document).ready(function() {
        if ($('#menu-item-55').is(':focus')) {
            alert("yes!");
        });
    });