0

我注意到这是许多网站上的常见问题,甚至是大公司的网站,所以作为一个申请工作的网络开发人员,我想,我应该知道如何解决这个问题。

基本上,例如,用户名字段会显示“用户名”,直到您单击它输入您的用户名,此时它应该清除文本“用户名”。但在大多数情况下,它不会,您最终会在该预先存在的文本中间输入。

我查了一下,发现最好的解决方案是一组 30 多行的 Javascript 函数,它完全符合您的期望:设置一个系统,当用户单击该字段时清除默认值,并且只要他们没有输入任何内容,当他们点击离开时也会把它放回去。

但这并不是我真正想要的,因为我已经知道该怎么做。

我觉得现在,对于 HTML5 和所有,应该有一个更简单的解决方法。而不仅仅是将 JavaScript 简化为更短的 jQuery 脚本。我的意思是更多的嵌入式,固有的修复。

有谁知道阻止这种现象发生的任何方法?

4

4 回答 4

1

只需使用 HTML5placeholder attribute

<input type="text" placeholder="Whatever" />

小提琴

跨浏览器信息:某些 Firefox 版本会在单击文本框时清除占位符文本,Chrome 会在用户开始输入后将其清除,但更高版本的 Firefox 就像 chrome,它会在用户开始在输入框中输入时清除占位符文本。

于 2012-10-19T18:47:18.680 回答
0

您可以使用 HTML5 占位符属性http://www.w3schools.com/html5/att_input_placeholder.asp

于 2012-10-19T18:47:06.383 回答
0

现代浏览器现在支持表单的占位符属性,它可以让你做你所要求的

查看 http://webdesignerwall.com/tutorials/cross-browser-html5-placeholder-text 有关使用 modenizr 实现跨浏览器兼容性的文章

于 2012-10-19T18:47:46.107 回答
0

只需使用 HTML5 占位符属性。

<input type="text" placeholder="Username" />

这显然不会完全跨浏览器兼容,因此您仍然需要旧的 Javascript / jQuery 修复。

于 2012-10-19T18:49:11.873 回答