Javascript 在整个文档范围内捕获按键并开始在搜索框中键入
我想捕捉我的网页上的所有按键,这样当你开始键入时,文本就会出现在搜索框(输入)中,这个框就会得到焦点Javascript 在整个文档范围内捕获按键并开始在搜索框中键入,javascript,jquery,html,web,Javascript,Jquery,Html,Web,我想捕捉我的网页上的所有按键,这样当你开始键入时,文本就会出现在搜索框(输入)中,这个框就会得到焦点 有人能给我一些提示吗?您可以像下面这样使用jquery $(document).keydown(function(event) { $("id-of-input-box").focus() }); 解决方案 既然您用jquery标记了您的问题,那么现在您可以: var $search = $("#search"); $(document).on("keydown", function
有人能给我一些提示吗?您可以像下面这样使用jquery
$(document).keydown(function(event) {
$("id-of-input-box").focus()
});
解决方案 既然您用
jquery
标记了您的问题,那么现在您可以:
var $search = $("#search");
$(document).on("keydown", function(e) {
if (!$search.is(":focus"))
if (e.which != 9 && e.which != 13)
$search.focus();
});
如果已设置焦点,则不会调用用于将焦点设置到输入字段的.focus()
函数。如果用户按下选项卡
或回车
键,也不会选择输入字段
可访问性
如果有人试图在没有鼠标(只有键盘)的情况下使用你的网站,他将无法在任何地方导航。也许你必须考虑使用额外的技术,比如HTML。 < P>我想在我的网站上实现这个功能,但是只有当用户按下<代码> s >代码>(S用于搜索)时,我才不希望它被触发,如果焦点已经在另一个输入框中了。以下是我的解决方案:
$(document).on("keyup", function(e) {
// :input applies to input, select, textarea, etc.
if (!$(':input').is(":focus")) {
if (!$('input[name=query]').is(":focus")) {
var key = e.keyCode || e.which;
if (key == 83) { // if 's'
$('input[name=query]').focus();
}
}
}
});
归功于@Wolle,我过去常常从他开始回答。在stackoverflow中使用搜索如何?Thanx。我想我必须做一些额外的工作来将密钥添加到搜索框中,但就是这么简单。我想我必须做一些额外的工作来将密钥添加到搜索框中,但就是这么简单。