Galaxy S3上的Phonegap忽略了触摸事件

时间:2012-10-12 15:27:33

标签: javascript cordova javascript-events galaxy samsung-mobile

我有一个非常奇怪的问题。我有一个基本完成的Phonegap 2.0应用程序。它正在iPhone和iPad上运行,我在一天内将它移植到Android上,在我的Galaxy S上测试它。一切都很完美。然后我尝试在我全新的S3上运行它,没有任何触摸事件有效。点击有效,但不能触摸。

如果我运行此代码

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 

真正奇怪的是,同样的touchstart在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);

1 个答案:

答案 0 :(得分:0)

我很伤心地说,它看起来像Ice Cream Sandwich的不支持触摸事件(http://stackoverflow.com/questions/11390902/webview-in-ics-touch-events-not-being-fired -properly)。所以iOS支持touch *事件,Galaxy S支持touch *和mouse *和Ice Cream Sandwich(S3)不支持touch *。 Egads。我希望我错了。