使用 Jquery 将焦点设置为使用 keydown 输入
use Jquery to set focus to input with keydown
我正在使用一个有搜索框的网站,我很喜欢它,所以当你按下 space 栏但没有选择搜索文本框时,搜索文本框会获得焦点并且有它的文本被清除了。我已经完成了,但是检查搜索框是否有焦点的功能没有正常运行。对我的代码有什么建议吗?事实上,如果您按下 space 栏,它会清除搜索框,即使您正在搜索框中输入内容也是如此。
document.addEventListener('keydown', function (event) {
if (event.keyCode == 32) {
if ($('#searchTextBox').not(':focus')) {
$("#searchTextBox").focus().select();
}
}
});
当您在文档上委托 keydown
事件时,您还可以使用 event.target
检查 source/target 是否是文本框本身。如果事件来自文本字段,则忽略它。
$(document).on('keydown', function (event) {
if (event.which == 32 && event.target.id != 'searchTextBox')
$("#searchTextBox").focus().select();
});
也许这会奏效
$(document).ready(function(){
$(document).on('keydown',function(event){
if(event.keyCode==32){
if(!$('#search').is(':focus')) {
$('#search').focus().select();
}
}
});
});
您好!
更简单
检查 keyCode,因为 32 用于空格键,您可以使用其代码
来使用任何其他键码
$(document).on('keydown', function (event) {
if (event.keyCode== 32) {
$("#searchTextBox").focus().select();
}
});
我正在使用一个有搜索框的网站,我很喜欢它,所以当你按下 space 栏但没有选择搜索文本框时,搜索文本框会获得焦点并且有它的文本被清除了。我已经完成了,但是检查搜索框是否有焦点的功能没有正常运行。对我的代码有什么建议吗?事实上,如果您按下 space 栏,它会清除搜索框,即使您正在搜索框中输入内容也是如此。
document.addEventListener('keydown', function (event) {
if (event.keyCode == 32) {
if ($('#searchTextBox').not(':focus')) {
$("#searchTextBox").focus().select();
}
}
});
当您在文档上委托 keydown
事件时,您还可以使用 event.target
检查 source/target 是否是文本框本身。如果事件来自文本字段,则忽略它。
$(document).on('keydown', function (event) {
if (event.which == 32 && event.target.id != 'searchTextBox')
$("#searchTextBox").focus().select();
});
也许这会奏效
$(document).ready(function(){
$(document).on('keydown',function(event){
if(event.keyCode==32){
if(!$('#search').is(':focus')) {
$('#search').focus().select();
}
}
});
});
您好!
更简单 检查 keyCode,因为 32 用于空格键,您可以使用其代码
来使用任何其他键码 $(document).on('keydown', function (event) {
if (event.keyCode== 32) {
$("#searchTextBox").focus().select();
}
});