繁体   English   中英

检测可滚动 div 何时在 Firefox 中“聚焦”?

[英]Detect when scrollable div is “focused” in Firefox?

Firefox 有一种行为,如果您单击可滚动的div ,则该 div 会响应所有鼠标滚轮和 Page Up/Down 键,从而有效地使其“聚焦”。 但是,从技术上讲,HTML5 规范规定divs不能“聚焦”。 因此,即使div接收到键盘和鼠标事件,它也不会在document.activeElementDOMActivate事件处理程序中报告。

那么如何检测可滚动div何时在 Firefox 中具有滚动焦点? 这是一个测试页 奇怪的是,当您进入它时,会在document.activeElement报告div ,但这是唯一发生的情况。 一种解决方法可能是监听clickscroll事件,但我不确定这是否是最好的解决方案?

编辑:这是一个 Firefox 扩展,所以任何铬级 JS 都是可以接受的。 这也意味着我无法编辑或预测某些页面的编码方式。

如果您为<div>分配一个tabindex属性/属性(您可以将其设置为0以使其在文档的正常流程中可聚焦,或-1以将其完全从正常的选项卡流程中删除),那么它可以触发focusblur事件。 一些简单的 CSS 可以消除outline ,如果您发现它不受欢迎,但出于可用性原因,它可能是可取的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM