我有一个非常奇怪的问题.我有一个基本完成的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);
解决方法:
我很伤心地说,它看起来像Ice Cream Sandwich的不支持触摸事件(https://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.我希望我错了.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。