Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.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 检测输入按钮关闭状态_Javascript_Html - Fatal编程技术网

Javascript 检测输入按钮关闭状态

Javascript 检测输入按钮关闭状态,javascript,html,Javascript,Html,如何检测下面的按钮当前是否按下(被按住) 澄清一下,我的意思不是检测按钮是否被点击,而是在激活状态下被按下 我尝试使用mousedown事件,但如果用户用键盘操作按钮,按住按钮并按住空格键,则该事件不起作用。它可以与jquerymousedown(onmousedown在原生js中)mouseup(onmouseup在原生js中)事件配合使用,工作样本如下: $(文档).ready(函数(){ $(“#btn”)。在(“鼠标向下”,函数()上{ log(“使用鼠标点击btn”); }) va

如何检测下面的按钮当前是否按下(被按住)

澄清一下,我的意思不是检测按钮是否被点击,而是在激活状态下被按下


我尝试使用
mousedown
事件,但如果用户用键盘操作按钮,按住按钮并按住空格键,则该事件不起作用。

它可以与jquery
mousedown
onmousedown
在原生js中)
mouseup
onmouseup
在原生js中)事件配合使用,工作样本如下:

$(文档).ready(函数(){
$(“#btn”)。在(“鼠标向下”,函数()上{
log(“使用鼠标点击btn”);
})
var firstKeydown=true;
$(“#btn”)。在(“键控”,功能(e){
如果(e.which==32){//检查单击的按钮是否为sapcebar“code=32”
if(firstKeydown){//防止多次触发
日志(“btn使用键盘点击”);
firstKeydown=false;
}
}
})
$(“#btn”)。在(“mouseup”,function()上{
log(“使用鼠标点击btn”);
})
$(“#btn”)。关于(“键控”,函数(e){
如果(e.which==32){//检查单击的按钮是否为sapcebar“code=32”
log(“使用键盘点击btn”);
firstKeydown=true;
}
}) 
});


按钮
它可以与jquery
mousedown
onmousedown
在本机js中)
mouseup
onmouseup
在本机js中)事件一起正常工作,工作示例如下:

$(文档).ready(函数(){
$(“#btn”)。在(“鼠标向下”,函数()上{
log(“使用鼠标点击btn”);
})
var firstKeydown=true;
$(“#btn”)。在(“键控”,功能(e){
如果(e.which==32){//检查单击的按钮是否为sapcebar“code=32”
if(firstKeydown){//防止多次触发
日志(“btn使用键盘点击”);
firstKeydown=false;
}
}
})
$(“#btn”)。在(“mouseup”,function()上{
log(“使用鼠标点击btn”);
})
$(“#btn”)。关于(“键控”,函数(e){
如果(e.which==32){//检查单击的按钮是否为sapcebar“code=32”
log(“使用键盘点击btn”);
firstKeydown=true;
}
}) 
});


按钮
尝试使用
onmousedown
event@DavorMlinaric我已经试过了,我在问题中提到了这个缺陷,问题是用户可以用键盘操作按钮。当按下按钮时,将有一个鼠标事件+(焦点和活动)类附加到按钮上。当通过键盘完成时,只会添加相应的FOUC和活动类,而不会添加鼠标事件。我想知道这是否可以用于确定按钮按下。请尝试使用
onmousedown
event@DavorMlinaric我已经试过了,我在问题中提到了这个缺陷,问题是用户可以用键盘操作按钮。当按下按钮时,将出现鼠标事件+(焦点和活动)类将附加到按钮。当通过键盘完成时,只会添加相应的FOUC和活动类,而不会添加鼠标事件。我想知道这是否可以用来确定按钮按下。对不起,用空格键按下按钮对我不起作用。我在mac电脑上使用Chrome。这有意义吗:)谢谢,如果没有其他人发布更好的解决方案,我会接受。只是等待一段时间,让人们有机会回应。太好了,谢谢。是的,可能有更好的方法捕捉输入事件!嘿@Drahcir,我在键入空格时注意到了一个问题,连续按空格键时会触发多次,因此添加了一个检查以防止出现这种问题,请查看我的更新答案对不起,用空格键按下按钮对我不起作用。我在mac电脑上使用Chrome。这有意义吗:)谢谢,如果没有其他人发布更好的解决方案,我会接受。只是等待一段时间,让人们有机会回应。太好了,谢谢。是的,可能有更好的方法捕捉输入事件!嘿@Drahcir,我在输入空格时注意到了一个问题,连续按键时它会触发多次,因此添加了一个检查以防止出现这样的问题,请查看我的更新答案