phonegap + JQM + javascript / jquery으로 개발중에 있습니다.
버튼을 클릭시 페이지 변화없이 특정함수가 실행되는 아주 간단한 내용입니다.
근데 모바일 터치스크린에서 버튼을 빠른 속도로 연속 두번이상 터치할 경우
클릭한 횟수만큼 인식이 되지 않고 1번 혹은 0번의 횟수만큼 함수가 돌아갑니다.
웹에서 마우스로 클릭을 할 경우
연속으로 클릭해도 클릭한 횟수만큼 함수가 돌아가는 걸로봐선
함수의 내용상 문제는 아닌 것 같습니다.
예를들면 다음과 같은 상황입니다.
버튼을 클릭하면 input 의 value를 증가시키는 아주 간단한 내용입니다.
(이라고 생각하고 테스트함수를 짰는데 val 혹은 1이 string으로 인식됐는지 자릿수가 증가해버리네요.
엿튼 연속 터치만 되는지 확인하고 싶은 것이니 그냥 넘어가겠습니다. )
<div>
<input id="test" type="number" value="0" style="text-align:right; width:50%;" disabled="disabled" />
<a data-role="button" href="javascript:test();" >test</a>
</div>
function test(){
var test = document.getElementById("test");
test.value = test.value + 1;
}
하지만 위의 버튼도
연속으로 빠르게 터치하면 아무런 기능을 하지 못하네요.
테스트해 본 모바일 기종은 android s2 입니다.
이러한 상황이 발생하는 이유와 해결방법에 대해서 질문드립니다.
혹시..? 라고 생각되는 것이라도 있으면 답변 부탁드리겠습니다~
p.s.
개발을 진행하면서 공부한 상황이기 때문에 모바일쪽 개념에 체계가 없습니다.
추천해주실만한 책이나 정리된 웹페이가 있으면 추천도 좀 해주세요 ~ ㅎ




dom에서 id객체를 검색하는데 시간이 걸려서 그런것 아닐까요
test함수 실행중에 dom을 검색중인 상황에서 함수를 끝내지 못했는데 한번 더 클릭해서 두번째함수는 첫번째함수가+1을 끝내기전에 지역변수를 할당한것이 아닐까 합니다
input객체를 전역으로 만드셔서 window.onload때 먼저 검색해 두시거나
클릭횟수를 저장할 전역변수를 하나 만드시는것도 좋을듯 싶습니다
(함수에서는 전역변수의 값만 +1시켜서 출력하는게 좋을것 같습니다)