2011-09-03 4 views
2

jQTouch가 내 클릭 이벤트를 두 번 발사하여 전환 후 바로 나타나는 패널에서 다른 요소 (종종 링크)가 클릭되는 경우가 있습니다.jQTouch 이벤트가 두 번 터집니다.

이 문제는 상당히 광범위하게 논의되었지만 여전히 좋은 해결책이 아닙니다. 한 신사 위를 차지 포럼에서 해결책으로 다음 코드를 제안하지만 난 슬쩍 및 탭 이벤트를 사용하고 있기 때문에이 나를 ​​위해 작동하지 않습니다 두려워 :

allowClick = true; 
function preventGhostClick(){ 
    allowClick = false; 
    setTimeout(function(){ 
     allowClick = true; 
    },800); 
} 

$('#element').bind('tap',function(){ 
    if(!allowClick) return false; 
    app.utils.preventGhostClick(); 

    // do stuff 
}); 

사람이이 문제를 어떤 경험이 있습니까 및 위의 솔루션보다 나은 솔루션? 감사합니다.

답변

0

iPad에서만이 문제가 발생합니다. 아마도 웹킷 버전과 관련이 있습니다. 공유하고 싶은 웹에서 두 가지 솔루션을 보았습니다.

  1. 먼저 수행 할 작업 ..... exL .unbind ('클릭'). (function() {});
  2. jquery 코드가 html "head"태그에있는 경우 문제가 존재하지 않지만 body 태그의 jquery 코드 인 경우에만 존재합니다. 아마 머리와 몸의 결합, 확실하지 않습니다.
+0

이것은 기본적으로 정답입니다. jQuery live()를 사용했다는 사실이 드러났습니다. 제 경우에는 하나의 객체에 이벤트 리스너가 여러 번 추가되었습니다. 이 작업을 수행하는 대신 내 페이지에 새 요소를 추가 할 때마다 바인드 해제 ('클릭'), 바인딩 ('클릭')을 사용했습니다. 이것은 문제를 해결했습니다. 감사! – morrisbret

1

탭 이벤트에서 클릭하거나 터치하여 시작하거나 이벤트를 터치 해 보았습니까? iPad webapp를 사용하여 이와 비슷한 문제가 발생했다는 것을 기억하고이를 내 이벤트로 변경하여 수정했습니다. 미안하지만 특별히 기억하지는 못한다.하지만 그럴 가치는있다.

관련 문제