3

정말 이상한 문제가 있습니다. 기본적으로 완료된 Phonegap 2.0 앱이 있습니다. 그것은 iPhone과 iPad에서 작동하며 하루에 안드로이드에 포팅하여 내 Galaxy S에서 테스트했습니다. 모든 것이 완벽하게 작동했습니다. 그런 다음 내 새로운 S3에서 실행하려고했으며 아무 터치 이벤트도 작동하지 않았습니다. 클릭 만하지만 터치는 허용되지 않습니다. 이 코드Galaxy S3의 Phonegap이 터치 이벤트를 무시합니다.

document.addEventListener('touchstart', function (e) { console.log('touch start')}, false); 
document.addEventListener('click', function (e) { console.log('doc click'); }, false); 

을 실행하면

... 단지 클릭 이벤트 로그. 클릭하면 나는 아무것도 얻지 만 시스템 클릭합니다.

10-12 10:08:16.213: V/webview(2805): NO_FAST_DRAW = false 
10-12 10:08:16.283: V/webview(2805): singleCursorHandlerTouchEvent -getEditableSupport FASLE 

정말 이상한 점은 S3 브라우저와 PhoneGap ChildBrowser 플러그인 모두에서 동일한 터치 스타트가 작동한다는 것입니다. 앱의 webview 부분에는없고 S3에만 있습니다.

[업데이트 됨]

그리고 더 이상해진다. 인라인 JavaScript 코드에서 이벤트를 바인딩하면 다음과 같이 표시됩니다.

// Javascript stuff 
document.addEventListener('touchstart', function (e) { alert('touch start')}, false); 
// more JavaScript stuff 

실제로 작동합니다. 나는 타임 아웃 후를 설정하는 경우 그러나, 그것은

setTimeout(function() { 
    document.addEventListener('touchstart', function (e) { alert('touch start')}, false); 
}, 2000); 

답변

0

내가 말을 매우 슬프다하지 않습니다, 그것은 http://stackoverflow.com/questions/ (터치 이벤트를 지원하지 않습니다 아이스크림 샌드위치처럼 보인다 11390902/webview-in-ics-touch-events-not-fired - 적절하게). 따라서 iOS는 touch * 이벤트를 지원하고 Galaxy S는 touch * 및 mouse *를 지원하며 Ice Cream Sandwich (S3)는 touch *를 지원하지 않습니다. Egads. 나는 틀렸어.

+1

필자는 Galaxy Nexus (ICS/JB)에서 PhoneGap 앱에서 touchstart, touchmove 등을 사용하고 있습니다. 아마도이 대답이 도움이 될 수 있습니다. http://stackoverflow.com/a/10495741/710990. – Reinier

관련 문제