为啥 FireFox 会冻结我在此登录表单中的输入?

Posted

技术标签:

【中文标题】为啥 FireFox 会冻结我在此登录表单中的输入?【英文标题】:Why does FireFox freeze my inputs in this login form?为什么 FireFox 会冻结我在此登录表单中的输入? 【发布时间】:2012-07-28 16:20:42 【问题描述】:

看看这个Fiddle。

这是我的登录页面的一部分,带有整个网站样式表。此登录表单在 Chrome 中运行良好,但在 FireFox 中,由于某种原因,在我开始编写密码后冻结了用户名输入,当您从密码框中移除焦点时,它也被冻结了。

这种情况发生在你身上吗?如果是,知道为什么吗?


在鲍里斯的回答之后,我的 user-select stylus 函数现在可以完美运行,看起来像这样:

user-select()
    user-select arguments
    -webkit-user-select arguments
    -o-user-select arguments

    if arguments == 'none'
        -moz-user-select -moz-none
    else
        -moz-user-select arguments

在使用上会呈现这种情况:

user-select none:

user-select: none;
-webkit-user-select: none;
-o-user-select: none;
-moz-user-select: -moz-none;

user-select text:

user-select: text;
-webkit-user-select: text;
-o-user-select: text;
-moz-user-select: text;

【问题讨论】:

在 FF 13.0.1 中不会冻结我,但我确实注意到您对 user-select:none 的使用使我无法用鼠标选择文本,这不完全是用户-友好。 @TheZ 用键盘选择文本也不方便 - Home 和 End 不起作用,所以你必须使用 Left 和 Right。 我认为 TheZ 找到了问题所在。只是为了回答 Neil,而不是 home 和 end,您可以使用 Ctrl + Right/Left 更快地选择文本。 :) @TheZ:我非常喜欢 user-select: none 的 UI 区域,无论如何都不应该选择。我在所有输入上都设置了-moz-user-select: text,所以这应该不是问题。知道为什么这在 FireFox 上不起作用吗? 【参考方案1】:

-moz-user-select: none 表示里面没有任何东西是可选择的,句号。里面的东西是什么风格都无所谓。

如果您希望能够通过样式化后代来覆盖,您需要-moz-user-select: -moz-none

【讨论】:

FireFox 是唯一能做到这一点的浏览器吗?后代不能覆盖该属性对我来说没有意义,这就是 CSS 的全部意义所在。 这是一个非标准属性,没有关于它应该如何表现的真正规范(尤其是多年前在 Gecko 中实现时)。实施的行为是该物业的消费者当时所要求的......

以上是关于为啥 FireFox 会冻结我在此登录表单中的输入?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Firefox 会改变我的输入/占位符颜色?

为啥 STDIN 会导致我的 Perl 程序冻结?

为啥即使使用 QThreadPool,GUI 也会冻结?

为啥 popToRootViewContoller 会冻结或需要很长时间才能执行?

JavaScript 更新 textarea 冻结 Chrome,但不冻结 Firefox

为啥我在 AngularJS 中的日期输入字段会抛出类型错误?