Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.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 了解输入是否正在使用并禁用热键(Jquery)_Javascript_Jquery - Fatal编程技术网

Javascript 了解输入是否正在使用并禁用热键(Jquery)

Javascript 了解输入是否正在使用并禁用热键(Jquery),javascript,jquery,Javascript,Jquery,我在我的网站上使用了一些热键,但是当用户在搜索表单或内部评论中时。我想禁用它们 什么对我来说是最好的?谢谢 我的热键示例: $(document).keydown(function(e) { if (e.which == 40 || e.which == 74) // next post { return scroll('next'); } if (e.which == 38 || e.which == 75) // prev post

我在我的网站上使用了一些热键,但是当用户在搜索表单或内部评论中时。我想禁用它们

什么对我来说是最好的?谢谢

我的热键示例:

$(document).keydown(function(e)
{
    if (e.which == 40 || e.which == 74) // next post
    { 
        return scroll('next');
    }

    if (e.which == 38 || e.which == 75) // prev post
    { 
        return scroll('prev');
    }
});

您可以检查
事件.target
元素。如果该元素来自类型
INPUT
,则可能需要省略处理程序代码。可能看起来像

$(document).keydown(function(e)
    {
        if( e.target.nodeName !== 'INPUT' ) {
            if (e.which == 40 || e.which == 74) // next post
            { 
                return scroll('next');
            }

            if (e.which == 38 || e.which == 75) // prev post
            { 
                return scroll('prev');
            }
        }
});

您可以检查
e.target.nodeName===INPUT
(事件在输入字段内触发)并相应地采取行动