使用Javascript按下这两个键时,如何聚焦搜索表单输入字段?
shift + /将生成?
因此,基本上,在按下问号的按键时,搜索表单将自动聚焦。
这是我当前的bootstrap 3搜索表单代码:
<form class="navbar-form navbar-right" role="form" method="post" action="{$WEB_ROOT}/knowledgebase.php?action=search">
<div class="form-group">
<input id="inputMessage" class="form-control" placeholder="Search website.com" type="text" name="search">
</div>
<button type="submit" class="btn btn-default"></button>
</form>
最佳答案
检查此代码。
创建一个对象来存储按键并添加一个eventListener,该事件监听器会将每次按键都添加到Object中。
然后检查keyCodes Shift(16)和/(191)
var map = {}; //to store the keycodes
onkeydown = onkeyup = function(e){
e = e || event;
map[e.keyCode] = e.type == 'keydown';
if(map["16"]==true && map["191"]==true){ // 16 => shift and 191 /
e.preventDefault();
var elm=document.getElementById('inputMessage');
elm.focus();
}
/* insert conditional here */
}
<form class="navbar-form navbar-right" role="form" method="post" action="{$WEB_ROOT}/knowledgebase.php?action=search">
<div class="form-group">
<input id="inputMessage" class="form-control" placeholder="Search website.com" type="text" name="search">
</div>
<button type="submit" class="btn btn-default"></button>
</form>