【发布时间】:2014-07-14 21:45:27
【问题描述】:
我创建了一个测试用例,其中带有display: inline; 的元素即使我不直接单击它也会获得焦点,而带有display: block; 的元素不会以这种方式获得焦点。
重现问题的步骤:
- 打开http://jsfiddle.net/xkfH6/1/
- 点击“测试 1”容器。
- 点击其他任何地方。
预期结果:当点击任何空白或绿色区域时,“测试 2”将不会被聚焦。 “测试 2”只有在直接单击时才应获得焦点。
实际结果:即使鼠标单击与该容器无关的某个远处区域,“测试 2”也会获得焦点。不过,“测试 1”不会发生这种情况,而且“测试 1”的行为在我看来与预期的一样。
有谁知道为什么会发生这种情况,如果我可以让“测试 2”容器在鼠标不直接单击时不聚焦?
更新:这仅在 Chrome 35 中发生,而不在 Firefox 30 中发生。
【问题讨论】:
-
您忘记了 JSFidle 中的 JS 部分;)
-
Firefox 的行为与您的“绿色文本”所解释的不同。当我直接点击它时,我只看到“测试 2”获得焦点。
-
@Jenova70 我用“javascript”标记它,因为答案很可能需要它,但演示代码是正确的。它不应该包含 JavaScript。纯 HTML/CSS 在 Chrome 35 中对我来说就是这样。
-
我得到的和 Pointy 得到的一样。 FF30 在这里,它的行为与它应该的完全一样。也许其他诸如开发人员扩展之类的东西会导致这种情况?您是否尝试重新启动浏览器?
-
jsfiddle.net/xkfH6/1 如果我在测试 2 之后放置另一个元素,它可以正常工作
标签: html css google-chrome