【问题标题】:Overriding preventDefault onclick when tab and enter are used for navigating当 tab 和 enter 用于导航时覆盖 preventDefault onclick
【发布时间】:2023-03-08 18:50:01
【问题描述】:

我在大屏幕上有一个带有下拉菜单的导航,为了为小屏幕创建正确的响应行为,我在具有下拉菜单的父链接上设置了 preventDefault。但是,如果您尝试通过键盘导航该站点,并且当您切换到父链接并按 Enter/Return 时,什么也不会发生。这是在该链接上设置了 preventDefault 的结果,即使它是在点击时设置的。

当您浏览导航并点击返回时,是否有一种干净的方法来覆盖 preventDefault?理想情况下,我想在切换时检测父链接上的焦点,然后显示其下拉菜单,因此也可以通过切换。

这里是click函数的基本jquery代码...

$('.parent-link').click(function (e) {
    e.preventDefault();
    // other things happen, but they're not relevant to this issue
};

【问题讨论】:

    标签: jquery accessibility screen-readers


    【解决方案1】:

    在我看来,通过用“mousedown”事件替换javascript的“click”事件(包括鼠标和键盘事件),它只会禁用链接上的“mouse”事件,保留键盘事件清理。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      • 2011-06-05
      • 1970-01-01
      • 2014-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多