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。