我对 Javascript(和 jQuery)很陌生。我的 JSFiddle 确实以最好的方式显示了这个问题。http://jsfiddle.net/mkLsr/3/
我试图使它成为一个专注于页面加载的搜索框文本输入,因此用户可以在不点击的情况下输入它。但是,我还希望其中的默认文本在用户单击文本输入时消失,如果他们在没有写任何内容的情况下单击文本字段,则会重新出现。
问题是我在页面上有其他文本输入,并且现在正在运行,如果用户单击一个并开始输入,焦点会跳转到最初聚焦的文本输入。我怎样才能阻止这种情况发生?
我尝试使用if ($('input:focus').size() == 0)
它,所以它只会在没有设置其他焦点的情况下设置焦点。它不起作用是因为它在页面加载后没有重新检查吗?我怎样才能让它重新检查,还是有其他问题?
我认为您可以自动输入的搜索框,其默认文本在输入时会被删除,这与您可以获得的用户友好度差不多 - 但我真的希望在不花费其他输入用户费用的情况下做到这一点 -友善。
任何帮助,将不胜感激!
* 编辑*
Kai 的 Javascript 解决方案和“占位符”HTML 属性的使用确实帮助了我。(http://jsfiddle.net/wgwTC/4/)。
我只是好奇是否有人知道如何跨浏览器应用它,以便第一个文本输入仍然是焦点,但占位符文本在加载页面时就在那里。目前它适用于 Chrome,但不适用于 IE(我使用的是 9)或 Firefox(5.0)。如果有一个跨浏览器解决方案,它可能会帮助其他想要在未来项目中使用相同或类似功能的人。