【发布时间】:2020-08-28 15:58:35
【问题描述】:
我需要替换 <input placeholder="something" /> 标签。
由于我无法按照我想要的方式设置此占位符的样式,并且对比度超出了此标记的范围。
除了编写一个完整的脚本来执行此操作外,我不确定如何实现这一点。 当然,如果我必须这样做。没问题。不涉及懒惰。但事实是。我想让代码保持快速和优雅。
我看过一段代码,其中我看到了类似的内容:
<input onblur="if($(this).input == '') $(this).text('default text');" onfocus="if($(this).text() == 'default text') $(this).text('')">
这当然远非应有的样子。但我想你明白我的意思。 如果您在焦点上,则默认文本应该消失。如果没有输入,则模糊。应显示默认文本。
建议我可以使用 ::placeholder 伪类来设置它的样式。 但是在 FireFox 和 Chrome 下,这些都无法工作。
在网上搜索了很多之后,我发现这个选择器并不总是按计划工作。
还有我的 CSS:
这就是我重新使用这个传统解决方案的原因。
【问题讨论】:
-
您的问题是什么?在
placeholder之前,这样的代码确实很常见。您是否正在寻找可以自动执行此操作并允许对其进行样式设置的小部件?图书馆请求在这里是题外话。 -
"这当然远非应有的样子。"为什么?
-
这远非应有的样子,因为它不起作用^^
标签: javascript html input placeholder