我对Javascript(和jQuery)非常陌生。我的JSFiddle真的以最好的方式显示了这个问题。 http://jsfiddle.net/mkLsr/3/如何持续检测焦点是否已设定? (Javascript,jQuery)
我想使它成为一个搜索框文本输入,专注于页面加载,因此用户可以在不点击的情况下键入它。但是,我还希望默认文本在用户点击文本输入时消失,如果他们在没有任何写入的情况下单击文本字段,就会重新出现。
问题是,我在页面上有其他文本输入,并且现在正在运行,如果用户单击其中一个并开始键入,焦点将跳转到最初集中的文本输入。我怎样才能阻止这种情况发生?
我尝试使用if ($('input:focus').size() == 0)
来设置它,所以如果没有设置其他焦点,它只会设置焦点。它不工作,因为它不会在页面加载后重新检查吗?我该如何重新检查,还是有其他问题?
我认为一个可以自动输入的搜索框,其中有一个默认文本在打字后会被删除,它的使用方式与您所能获得的一样友好 - 但我真的希望能够不花钱其他输入的用户友好性。
任何帮助,将不胜感激!
*编辑*
凯真的帮了我与他的JavaScript的解决方案,并使用 “占位符” HTML属性。 (http://jsfiddle.net/wgwTC/4/)。
我只是好奇,如果有人知道如何跨浏览器应用它,以便第一个文本输入焦点仍然是,但占位符文本是在那里加载页面。目前它在Chrome中运行,但不支持IE(我使用9)或Firefox(5.0)。如果有跨浏览器解决方案,它可能会帮助其他人在未来的项目中需要相同或相似的功能。
而不是试图编写自己的占位符,请尝试使用这样的事情http://www.hagenburger.net/BLOG/HTML5-Input-Placeholder-Fix-With-jQuery。 html – Dhiraj
@DhirajBodicherla看起来它会工作得很好。该页面指出,它在IE中工作,但是,我似乎无法看到IE 9中的占位符文本。有了这样的警告,它运作良好。 对Kai这个脚本有明显的优势吗? – jporcenaluk