아래의 버튼이 현재 눌려져 있거나 눌려져 있는지 어떻게 알 수 있습니까? 입력 버튼 다운 상태 감지
<input type="button" value="Hold it down" id="aButton">
mousedown
이벤트를 사용하려고했지만 사용자가 키보드로 버튼을 조작하고 버튼으로 탭 이동 한 다음 스페이스 바를 누르고 있으면 작동하지 않습니다.
아래의 버튼이 현재 눌려져 있거나 눌려져 있는지 어떻게 알 수 있습니까? 입력 버튼 다운 상태 감지
<input type="button" value="Hold it down" id="aButton">
mousedown
이벤트를 사용하려고했지만 사용자가 키보드로 버튼을 조작하고 버튼으로 탭 이동 한 다음 스페이스 바를 누르고 있으면 작동하지 않습니다.
이 작업 샘플 벨로 (기본 JS에서 onmousedown
) JQuery와 mousedown
mouseup
(기본 JS에서 onmouseup
) 이벤트와 함께 잘 작동 :
$(document).ready(function(){
$("#btn").on("mousedown",function(){
console.log("btn click down using mouse");
})
var firstKeydown = true;
$("#btn").on("keydown",function(e){
if(e.which == 32){ // check if clicked button is sapcebar "code =32"
if(firstKeydown) { // to prevent multiple firing
console.log("btn click down using keyboard");
firstKeydown = false;
}
}
})
$("#btn").on("mouseup",function(){
console.log("btn click up using mouse");
})
$("#btn").on("keyup",function(e){
if(e.which == 32) { // check if clicked button is sapcebar "code =32"
console.log("btn click up using keyboard");
firstKeydown =true;
}
})
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="btn">Button</button>
이 onmousedown' 이벤트 –
'으로 시도 @ DavorMlinaric 나는 이것을 이미 시도했다. 나는이 문제를 내 질문에 언급했다. 문제는 사용자가 키보드로 버튼을 조작 할 수 있다는 것이다. – Drahcir
버튼을 누르면 마우스 이벤트 + (포커스 및 활성) 클래스가 버튼에 첨부됩니다. 키보드를 통해 완료되면 마우스 이벤트가 없을 때 해당 파일과 활성 클래스 만 추가됩니다. 이것이 버튼 누르기를 결정하는 데 사용될 수 있는지 궁금합니다. – blueren