gpt4 book ai didi

javascript - 在 Javascript/Jquery 中按住一个按键(Shift 键)

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:24:16 24 4
gpt4 key购买 nike

这里我们不检查是否按下了 shift 键。我需要的是在函数调用时按下 shiftkey

我们有代码可以在元素按键时按下一个键。

e = jQuery.Event("keypress");
e.which = 13 //choose the one you want
$("#test").keypress(function(){
alert('keypress triggered');
}).trigger(e);

我的要求是在我的函数上按住 Shift 键并在调用另一个函数时松开。

function called(){
.. code ..
// need shift key pressed
}

function called_another_func(){
.. code ..
// need shift key released
}

最佳答案

可以通过以下代码以编程方式触发连续 Shift 键按下(16 是 shift 键代码):

$("selector").keydown(function(event){
if(event.which === 16){
//any code you want to execute before key press
e=$.Event('keydown')
e.which=16
$("selector").trigger(e)
}
});

然而,这可能会因为递归事件调用而挂起应用程序并在控制台中抛出错误。为防止这种情况,您必须执行以下操作:

$("selector").keydown(function(event){
if(event.which === 16){
if("flag to check if you need to continue shift key press"){
//any code (or function call) you want to execute before key press and
//toggle the variable to break out of this recursive event trigger
e=$.Event('keydown')
e.which=16
$("selector").trigger(e)
}
}
});
$("selector").keyup(function(event){
if(event.which === 16){
//call your function
}
});
});

关于javascript - 在 Javascript/Jquery 中按住一个按键(Shift 键),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52200518/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com