Javascript 如何将文本框的焦点放在按键上,而不在其中输入关键字
当用户在键盘上按“S”关键字时,我想将焦点放在文本框中。但问题是,文本框中也输入了“S”关键字(这只发生在chrome中)。这是我的代码Javascript 如何将文本框的焦点放在按键上,而不在其中输入关键字,javascript,jquery,google-chrome,Javascript,Jquery,Google Chrome,当用户在键盘上按“S”关键字时,我想将焦点放在文本框中。但问题是,文本框中也输入了“S”关键字(这只发生在chrome中)。这是我的代码 $(document).keypress(function(event){ if(document.getElementById('search')!==null) { if(event.which==115 && event.target.nodeName=='BODY') // WHEN USER PRESS 'S' KEYWO
$(document).keypress(function(event){
if(document.getElementById('search')!==null)
{
if(event.which==115 && event.target.nodeName=='BODY') // WHEN USER PRESS 'S' KEYWORD IN KEYBOARD ONLY
{
$('#search').focus();
}
}
});
你也可以试试
(event.keyCode==83) // 83 is keyCode for "s"
使用
event.preventDefault()
通过使用event.preventDefault()可以限制按键以更新文本框值。我添加了event.which==83,以防caps启用
$(document).keypress(function (event) {
if (document.getElementById('search') !== null) {
if ((event.which == 115 || event.which == 83) && event.target.nodeName == 'BODY') // WHEN USER PRESS 'S' KEYWORD IN KEYBOARD ONLY
{
$('#search').focus();
event.preventDefault();
}
}
});
检查演示中的event.preventDefault()我怎么会错过这个谢谢,它可以工作。“s”。charCodeAt(0)==115
,“s”。charCodeAt(0)==83
$(document).keypress(function (event) {
if (document.getElementById('search') !== null) {
if ((event.which == 115 || event.which == 83) && event.target.nodeName == 'BODY') // WHEN USER PRESS 'S' KEYWORD IN KEYBOARD ONLY
{
$('#search').focus();
event.preventDefault();
}
}
});