2017-11-11 80 views
1

我在大屏幕上有下拉菜单的导航,为了创建适合小屏幕的响应行为,我在父链接上设置了preventDefault一个下拉菜单。但是,如果您尝试通过键盘浏览网站,并且您选择了父母链接并按Enter/Return,则什么都不会发生。这是在该链接上设置preventDefault的结果,即使它是在点击时设置的。覆盖preventDefault onclick当选项卡和输入用于导航

有没有一种干净的方式来覆盖preventDefault当你通过导航和命中返回?理想情况下,我希望在检索时检测父母链接的重点,然后显示其下拉菜单,以便它也可以被标记。

下面是点击功能基本jQuery代码...

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

回答

0

在我看来,通过与更换你的JavaScript的“click”事件(包括鼠标和键盘事件)的“ mousedown“事件,它只会禁用链接上的”鼠标“事件,保持键盘事件的清洁。