Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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检查是否单击左ctrl+left shift和左ctrl+right shift_Javascript_Jquery_Events - Fatal编程技术网

Javascript jQuery检查是否单击左ctrl+left shift和左ctrl+right shift

Javascript jQuery检查是否单击左ctrl+left shift和左ctrl+right shift,javascript,jquery,events,Javascript,Jquery,Events,我尝试执行以下代码: $(input).keyup(function (e) { alert(e.shiftKey); }); 但是我写的每一个字符都显示为false,我该怎么做呢?您的问题是使用keyup。当事件触发时,shift键已释放且不再处于活动状态。尝试使用keydown或keypress。您的问题是使用keypup。当事件触发时,shift键已释放且不再处于活动状态。尝试使用向下键或按键。尝试 $("input").keydown(function (e) { if

我尝试执行以下代码:

$(input).keyup(function (e)
{
    alert(e.shiftKey);
});
但是我写的每一个字符都显示为false,我该怎么做呢?

您的问题是使用keyup。当事件触发时,shift键已释放且不再处于活动状态。尝试使用keydown或keypress。

您的问题是使用keypup。当事件触发时,shift键已释放且不再处于活动状态。尝试使用向下键或按键。

尝试

$("input").keydown(function (e)
{
    if(e.shiftKey && e.ctrlKey){ alert("shift + crtl Pressed");}
});
这很好用

试试看

$("input").keydown(function (e)
{
    if(e.shiftKey && e.ctrlKey){ alert("shift + crtl Pressed");}
});

这工作正常

当两个键都按下时,将触发以下命令:

$(input).keydown(function (e) {
    if (e.shiftKey && e.ctrlKey) {
        // This code would run if both the control and shift are down.
    }
});
但是,只要按下输入框中的两个键,就会继续触发jQuery


我原以为jQuery可以让您知道何时按下它们而不是仅仅按住它们,但它似乎只在字符键a-z、0-1、!>~、上被调用,等。

当两个键都按下时,将触发以下命令:

$(input).keydown(function (e) {
    if (e.shiftKey && e.ctrlKey) {
        // This code would run if both the control and shift are down.
    }
});
但是,只要按下输入框中的两个键,就会继续触发jQuery


我原以为jQuery可以让您知道何时按下它们而不是仅仅按住它们,但它似乎只在字符键a-z、0-1、!>~、上被调用,等等。

遗憾的是,这在事件API中是不可能的-两个shift键都返回keyCode 16,两个ctrl键都返回keyCode 17-它们无法区分


抱歉坏消息:

遗憾的是,这在事件API中是不可能的-两个shift键都返回keyCode 16,两个ctrl键都返回keyCode 17-它们无法区分


很抱歉告诉你这个坏消息:

我不太清楚你在问什么。如果您想区分左右修改键shift、ctrl、alt等,那么通常是不可能的。请看我想做的代码:如果左shift+left alt{…}在哪个事件中?还有其他按键吗?正如我提到的,你通常无法区分左移和右移或alt。我不太清楚你在问什么。如果您想区分左右修改键shift、ctrl、alt等,那么通常是不可能的。请看我想做的代码:如果左shift+left alt{…}在哪个事件中?还有其他按键吗?正如我提到的,您通常无法区分左移位和右移位或alt。它不起作用:if e.shiftKey&&e。ctrlKey@user1123379:它工作得很好。请参见此处:@KillerX,您的JSFIDLE正在使用alt而不是shift和ctrl。@user1123379请参见实践中的示例。@ThomasNadin Eh,保存了错误的版本:它不起作用:if e.shiftKey&&e。ctrlKey@user1123379:它工作得很好。请参见此处:@KillerX,您的JSFIDLE正在使用alt而不是shift和ctrl。@user1123379请参见实践中的示例。@ThomasNadin Eh,保存了错误的版本:它可以工作,但我不需要alt,我需要ctrl。它可以工作,但我不需要alt,我需要ctrl。