Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在整个文档范围内捕获按键并开始在搜索框中键入_Javascript_Jquery_Html_Web - Fatal编程技术网

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。我想我必须做一些额外的工作来将密钥添加到搜索框中,但就是这么简单。我想我必须做一些额外的工作来将密钥添加到搜索框中,但就是这么简单。