jquery focusin 질문이 있습니다
본문
해당 버튼에 focusin이 됐을때
이 포커스가 클릭으로 들어온건지 탭으로 들어온건지 확인을 할 수 있는 방법이 무엇이 있을까요?
$("button").on("focusin", function(){
// 클릭으로 포커스시
// 탭으로 포커스시
})
위와 같이 접근 방법에 따라 분기를 해줘야하는데 검색을 해도 원하는 답을 찾기가 힘드네요
답변 3
완벽하지 않습니다.
이런식으로라도 분류해서 진행하시면 될듯 싶습니다.
더 정확한거는 이벤트 콘솔로 객체 확인해서 다른 부분으로 분류 가능한지는 안봤습니다.
let check = false;
// 버튼 안에 마우스가 있을때
$("button").on("mouseenter", function () {
check = true;
}
// 버튼 안에 마우스가 없을때
$("button").on("mouseleave", function () {
check = false;
}
// 클릭 및 이외 이벤트 체크
$("button").on("focusin", function () {
if (check) {
클릭으로 들어온 이벤트
return false;
}
클릭 이외로 들어온 이벤트
}
click 이벤트로 잡으면 되는데
아마 포커스와 충돌이 날거에요.
그럴때 아래 링크 참조하시면 됩니다.
https://vnthf.github.io/blog/jquery-focusout%EA%B3%BCclick-event%EC%B6%A9%EB%8F%8C/
mouseover 와 click 이벤트로 분리하여 처리하는 것을 추천합니다.
$("button").on("mouseover", function(){
});
$("button").on("click", function(){
});