在IE10中保持占位符的重点

Aar*_*ken 62 javascript jquery placeholder internet-explorer-10

在WebKit和火狐,在文本inputplaceholder棒周围focus-它并没有消失,直到input.val真正拥有它的东西.

是否有一种强制IE10做同样事情的好方法?

Kev*_*son 43

来自Internet Explorer开发人员中心:-ms-input-placeholder伪类文档似乎暗示这是按设计工作的.

占位符文本以指定的样式显示,直到该字段具有焦点,这意味着可以键入该字段.当字段具有焦点时,它将返回到输入字段的正常样式,占位符文本将消失.

编辑:如果我必须模仿这种行为,我会看看占位符polyfill库(设置默认值,在输入框上浮动灰色文本等),它与旧版本的IE一起使用.它们必须被修改,因为它们可能具有检测占位符功能并遵循浏览器的功能.此外,这将具有"浏览器检测"代码气味.

更新: 一个"IE占位符文本消失"的问题是一个Twitter时问#AskIE 2014年6月19日,问题会议,并@IEDevChat 回答 "我们有此行为的主动漏洞下一个版本将提供一个补丁."

  • 如果你有一个标签,占位符通常只是重复它.这增加了用户处理的混乱,使表单更难,更容易使用.对我来说,占位符的全部好处是它们消除了对标签的需求 - 当它们正常工作时. (19认同)
  • 这不是正确的答案,因为问题是:**是否有一种强制方法迫使IE10做同样的事情?**(保持占位符在焦点上可见) (9认同)
  • 不幸的是,它让用户盯着一个空的眨眼场,没有任何暗示告诉他们要求他们放入什么. (8认同)
  • @DeborahSpeece:"不幸的是,它让用户盯着一个空眨眼的领域,没有任何暗示告诉他们要求他们放入它的内容." 那么,你的字段也应该有一个`<label>`元素.[`placeholder`不能代替`<label>`](http://www.w3.org/html/wg/drafts/html/master/forms.html#the-placeholder-attribute),以及` <label>`应该表明该领域的目的是什么. (5认同)
  • @dudewad我恭敬地不同意.如果用户在输入中看到标签,即标签,则框外的附加标签是多余的,对用户没有帮助,占用宝贵的屏幕空间.规则和指南会改变,因为它们没有意义时应该改变. (4认同)
  • 看起来IE永远不会得到这个修复!这是一个功能,而不是一个错误!虽然它固定在Edge! (2认同)

Viv*_*ngh 10

IE开发人员的过程中回应AskIE在Twitter会话IEDevChat,这是一个已知的bug在IE BugList,他们将在未来的版本中修复.

更新: - 不幸的是,占位符行为在IE11中仍然相同,但似乎在Edge/Spartan版本中有效.

  • 未来的版本没有解决IE10中的问题,因此这不是问题的答案. (2认同)

Roc*_*mat -13

我用 Google 搜索了一下,发现有一些 CSS 伪元素和伪类可以用来设置占位符的样式。

input:-ms-input-placeholder:focus{
    color: #999;
}
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅此答案:/sf/answers/182751901/

  • 他没有询问如何设计占位符的样式 (3认同)