Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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/6/asp.net-mvc-3/4.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
jquerykeypress问题_Jquery_Keypress - Fatal编程技术网

jquerykeypress问题

jquerykeypress问题,jquery,keypress,Jquery,Keypress,我有一个按键时重定向的代码: $('body').bind('keyup', function(event) { if(event.keyCode==66){ window.location = "page.php"; } }); 好的,但是,如果用户在页面上有一个焦点输入字段,如何使其不适用?您可以测试event.target并查看它是什么类型的元素。如果是输入,则不做任何操作就返回。具体来说, if (-1 != ['INPUT', 'TEXTAREA'].indexOf(

我有一个按键时重定向的代码:

$('body').bind('keyup', function(event) {
    if(event.keyCode==66){ window.location = "page.php"; }
    });

好的,但是,如果用户在页面上有一个焦点输入字段,如何使其不适用?

您可以测试
event.target
并查看它是什么类型的元素。如果是
输入
,则不做任何操作就返回。具体来说,

if (-1 != ['INPUT', 'TEXTAREA'].indexOf(event.target.nodeName)) return;
编辑:嗯,你们确定事件。当前目标?我看到有几个人提到了
currentTarget
而不是
target
,但不会提到
事件。currentTarget
始终是绑定侦听器的
主体
元素?

试试看

if ( $("*:focus").is("textarea, input") ) return;

您可以使用jQuery的选择器

$("input").is(":focus")
这里举一个例子:


if($(event.currentTarget).attr('id')='inputId')返回false我对jqyery不是很在行,但“inputElement”是一个变量吗?如果是这样的话,有没有办法让它覆盖所有的输入字段呢?是的,inputElement是要排除的元素的id。我还修改了我的答案。
$('input').bind('keyup', function(event) {
   if(event.keyCode==66 && !($(event.currentTarget).is(":focus"))){ window.location = "page.php"; }
});
$("input").is(":focus")
$('body').bind('keyup', function (event) {
    // If 'b' is pressed & no input is focused
    if (event.keyCode == 66 && !$("input").is(":focus")) {
        alert('Redirecting');
    }
});