当前位置:  开发笔记 > 编程语言 > 正文

确定焦点何时发生在元素外部

如何解决《确定焦点何时发生在元素外部》经验,为你挑选了0个好方法。

我想看看以下是否可行:

确定是否发生焦点的元素外,无需使用文档级别全球选择如$(document),$(body),$(window)等由于性能的原因.

如果没有全球选择者就无法实现,请以可证明的理由解释自己.重要的是,我理解为什么这对于今天的最新技术是不可行的.

奖金回合:确定任务的最有效(计算时间)选择器/事件处理程序/插件.

我的实现包含一个非常简单的HTML导航栏,如下面的代码段所示.我在每个标签之间进行原生键盘导航.第一个列表元素是标题,包含可见的锚点,第二个元素


这个导航栏的目标很简单:

    原生键盘选项卡或shift + tab从锚点到锚点.

    聚焦内部锚元素时显示下拉菜单.

    不关注任何内部锚元素时隐藏下拉菜单.

我有1和2,但由于上面列出的要求,3是棘手的.我知道这可以很容易地使用全局选择器来完成,但是这个挑战是要弄清楚并理解是否可以这样做.

$(document).ready(function() {
    dropdownMenu = $(".test > ul");
    dropdownMenu.hide();

    $(".test").focusin(function() {
        if (dropdownMenu.is(":hidden")) {
          dropdownMenu.show();
        }
    });
    // Some selector for some event here to handle the focus/clicks outside the $(".test") element
});

重要提示:我认为event.stopPropagation();,正如CSS技巧中所解释的- 停止事件传播的危险对于这个问题的范围是一种危险的技术,但是如果使用所述技术导致最有效的方法,那么我将欢迎它.

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有