我注意到这是许多 wbesites的常见问题,即使是那些大公司的问题,所以作为一名网络开发人员申请工作,我认为,我应该知道如何解决这个问题。
基本上,例如,用户名字段会显示“用户名”,直到您单击它来输入用户名,此时它应该清除文本“用户名”。但在大多数情况下,它没有,并且您最终键入了预先存在的文本的中间。
我已经看过了,我找到的最佳解决方案是30多行Javascript函数,它们完全符合您的期望:设置一个系统,当用户点击时,它会清除默认值只要他们没有输入任何东西,他们点击时也会把它放回去。
但那并不是我想要的,因为我已经知道该怎么做了。
我觉得到现在为止,HTML5和所有这些应该有一个更简单的解决方案。而不仅仅是将JavaScript缩减为更短的jQuery脚本。我的意思是更多的嵌入式固有修复。
有谁知道有什么方法可以阻止这种现象发生?
答案 0 :(得分:1)
只需使用HTML5 placeholder attribute
<input type="text" placeholder="Whatever" />
跨浏览器信息: 有些Firefox版本会在点击文本框时清除占位符文本,Chrome会在用户开始输入后清除它,但后来版本的Firefox就像chrome一样,它会在用户开始在输入框中输入时清除占位符文本。
答案 1 :(得分:0)
您可以使用HTML5占位符属性http://www.w3schools.com/html5/att_input_placeholder.asp
答案 2 :(得分:0)
现代浏览器现在支持表单的占位符属性,这样您就可以实现您的要求
退房 http://webdesignerwall.com/tutorials/cross-browser-html5-placeholder-text 有关使用modenizr进行跨浏览器兼容性的文章
答案 3 :(得分:0)
只使用HTML5占位符属性。
<input type="text" placeholder="Username" />
这显然不是完全跨浏览器兼容的,所以你仍然需要旧的Javascript / jQuery修复。