我想为我的网站创建一个搜索栏,它可以以打字的形式检测用户的输入。我如何开始这样做,以便当用户开始输入时,他/她立即在搜索栏上键入内容。我熟悉自动对焦,但是我要找的是即使用户点击了页面上的其他内容时键入时自动重定向,使得自动对焦上的光标不再出现在搜索栏上。这可能吗?浏览器如何检测输入?
提前致谢!
答案 0 :(得分:3)
我认为您可以捕获按键,然后在搜索栏上设置自动对焦。 像这样的东西
document.onkeypress = function (e)
{
document.getElementById("searchBar").focus();
};
答案 1 :(得分:2)
您可以使用
document.addEventListener("keypress", setFocus);
其中setFocus
是一个将焦点设置为输入字段的函数。
function setFocus(){
document.getElementById("search-field").focus();
}
如果您熟悉jQuery,可以使用
$( document ).keypress(function() {
$("#search-field").focus();
});
这是文档 - keypress
在函数内部,您可以将焦点设置在输入字段上。
有趣的是,您的搜索字段的标识为search-field
。
答案 2 :(得分:1)
<body onkeydown = "addValue(event)">
<input type = "text" id = "search" value = ' '/>
</body> // The body part
<script>
var search = document.getElementById ("search");
function addValue (a){
search.value+= String.fromCharCode(a.keycode);}
</script>
我的尝试:) 无论哪个元素被聚焦或点击,这都会增加价值。