问题描述
在Chrome浏览器(85)和FF(80)中,单击可选项元素将其聚焦。当然,也可以通过单击该元素来进行聚焦,并且来自两者的聚焦事件似乎是相同的(浏览器控制台中的视图转储:聚焦事件相当大):
document.getElementById('main').addEventListener('focus',console.log)
<a href="#" id="main">focus here</a>
对于以下情况,这将成为问题:我正在实现双击行为,其中必须单击一次选择一个项目,然后再次单击以跟随它。我还希望用户能够使用 tab + enter 或 tab +单击以完成操作。
尽管我强烈希望使用默认的浏览器行为来完成大部分工作,但鉴于我要添加的所有内容都是额外的一次单击,因此,如果不听键盘击键,这似乎是不可能的。这是因为,如果上述两个事件确实无法区分,则无法分辨出以下两者之间的区别:
- 一个标签,紧接着单击,然后
- 单击一次即可生成焦点和单击事件。
事件顺序can't be trusted,很遗憾,FF始终是焦点,然后还是单击。
我忽略了焦点或单击事件中的某些东西,可以用来检查该事件的来源吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)