iOS에서 click 이벤트 처음 한번 실행 안되는 이슈
iOS에서 간헐적으로 처음 클릭이 안먹힌다고 mousedown, pointerdown 이벤트 추가하면, 그래서 click, mousedown, pointerdown 다 적용하면 열고 닫히는 아코디언일 경우에 이슈생김.
닫힐때 닫혔다가 다시열림 - 마우스다운 포인터다운일 때 이벤트 발생하면서 닫히는 콜백펑션 발생 뗄때 click 이벤트발생하면서 다시 열리는 콜백펑션 발생
편법 해결방법
jQuery를 사용할 경우엔 아래처럼 e.originalEvent
를 사용하자.
JavaScript의 originalEvent
를 선택!!
var touchStartValue = 0;
var startXPoint = function (e) {
if (e.type === "click") {
checkMainCertificate();
return
}
if (e.originalEvent.touches.length >= 2) return
touchStartValue = e.originalEvent.touches[0].clientX;
}
var endXPoint = function (e) {
if (e.originalEvent.changedTouches.length >= 2) return
if (Math.abs(e.originalEvent.changedTouches[0].clientX - touchStartValue) < 20) {
checkMainCertificate();
}
}
$(".선택자").on('click touchstart', startXPoint);
$(".선택자").on('touchend', endXPoint);