Firefox使用overflow:auto会产生focus

介个世界的浏览器无奇不有,以前不了解Firefox不知道问题,深入时才发现问题一大堆,不小心使用overflow:auto,才发现有这样的问题,不知道是不是我又火星了。

测试页:http://labs.aoao.org.cn/test/overflow/firefox/focus/,打开后狂按键盘的Tab键,然后再看一下代码,你会发现,介个问题很复杂,翻了W3C那英文好像也没提到。

不过,有个focus,可以让noscript的菜单更帅,又不过,据不科学的说法,它focus得很奇怪。本来想写个noscript的下拉菜单放出来,支持无鼠标操作,就是因为他focus得太帅了,等有空再写。

This entry was posted in Web开发 and tagged , . Bookmark the permalink.

13 Responses to Firefox使用overflow:auto会产生focus

  1. Mc@Spring @ 2007-05-10 at 08:12

    介个发现太突然,介个文章太幽默,偶喜欢。。。
    学习了。。。

  2. fireyy @ 2007-05-10 at 12:26

    我想这是FF浏览器的一个“可用性和亲和力”(usability/accessibility)的设定,当设定了overflow:auto或者overflow:scroll的元素不能完全显示内容的时候(出现滚动条),针对于键盘使用者,就可以focus到那个元素,使用键盘的方向键去控制局部的滚动

  3. old9 @ 2007-05-10 at 14:45

    偶也觉得是楼上说的原因。

  4. aoao @ 2007-05-10 at 15:56

    产生focus在某些情况是好的,比如 fireyy 所说的已经出现scroll,可是,有些人用overflow:auto清除浮动,就算不是用来清除浮动,也有用于缩放用的,结果,整页全是focus,会按死人的,为什么不是当出现真正scroll才有focus。比如看我测试页,要按Tab到链接上就要路过它们。不过这也可能跟FF的渲染机制有关,它必须一开始就把所有东西处理完。=。=或者我也说不清。不过我从不用overflow:auto清除浮动,我是为了研究键盘用的下拉才发现这个的。

  5. yanglei @ 2007-05-11 at 14:55

    介个东东有点意思,偶最近脑子好乱,,,,,,马上要懒死喽

  6. old9 @ 2007-05-16 at 16:10

    那你用啥清除浮动涅?

  7. aoao @ 2007-05-18 at 09:20

    :after 有时用float clear也行。
    查自己的文章去,Y的你不是有写过清除浮动吗?

  8. Allen @ 2007-05-24 at 17:54

    请问aoao,控制你blog的sidebar跟随上下拉动滚动条而移动的js函数是jscc.js里面的哪个?

  9. aoao @ 2007-05-25 at 08:23

    to: allen
    fixedsidebar 不过是针对我自己的站写的,可能不适合你的站。

  10. oegg @ 2007-08-01 at 08:51

    之前也发现FF下有这个问题,不过我是在用右键点击设置了overflow:auto的对象时,发现触发了它的onfocus~

  11. @ 2009-01-19 at 09:43

    FF下设置了overflow:auto;和不设测试没啥区别啊,focus不是伪类么,设置overflow:hidden;确实会使得鼠标中键失效。

  12. 柴鸡不柴 @ 2009-05-13 at 00:49

    以前还真不知道介个问题呢

  13. __________调。 @ 2009-11-09 at 23:47

    支持你个~
    我现在床边就放着你写的那本web标准化呢!
    这本书让我自学了div+css~完全自学的~
    很好很强大!!!这本书让我终生受益!

    哈哈、再支持你个!

Allen 回复 点击这里取消回复。

(必填)

(必填)