gpt4 book ai didi

Javascript 检测 mouseup 上按住的控制键

转载 作者:行者123 更新时间:2023-12-03 21:50:46 28 4
gpt4 key购买 nike

我已经搜索了很多,但似乎无法找到令人满意的解决方案。希望有人能帮忙。

当我使用 jQuery 时,我还编写了数千行 JavaScript。所以“纯”JavaScript 解决方案就可以了。

我正在尝试确定在 mouseup 事件上是否实际按住了控制键。就是这样;没有其他先决条件。有谁知道如何可靠地跨浏览器执行此操作?

我尝试通过记录按下和释放按键的时间来将其存储在状态变量中:

// BEGIN store control key status in hash_state
$().bind('keydown','ctrl',function( arg_obj_e ){
hash_state.sw_ctrldn = true;
console.debug( hash_state.sw_ctrldn );
});
$().bind('keyup','ctrl',function( arg_obj_e ){
hash_state.sw_ctrldn = false;
console.debug( hash_state.sw_ctrldn );
});
// END store control key status in hash_state

但是,这确实行不通。如果您使用 Firebug 对此进行测试并观察控制台,您将看到似乎会发生自动重复,并且值会切换。

我检查了 mouseup 事件,看看那里是否有任何有用的东西,但没有结果:

var debugEvent = function( arg_obj_e ){
var str = '';
for ( var attr in arg_obj_e ){
str += attr + ': ' + arg_obj_e[attr] + '\n';
}
console.debug(str);
}

如有任何帮助,我们将不胜感激。

最佳答案

您可以使用event.ctrlKey属性。

$(function(){
$('#elementId').mouseup(function(e){
var isCtrlPressed = e.ctrlKey;
// true or false whether ctrl is pressed or not
});
});

检查正在运行的示例 here .

关于Javascript 检测 mouseup 上按住的控制键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1210547/

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