3

私は本当に奇妙な問題を抱えています。基本的に完成したPhonegap2.0アプリがあります。iPhoneとiPadで動作しており、1日でAndroidに移植し、GalaxySでテストしました。すべてが完全に機能しました。次に、新しい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 

本当に奇妙なことは、同じタッチスタートがS3ブラウザーとPhoneGapChildBrowserプラグインの両方で機能することです。アプリのウェブビュー部分ではなく、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);
4

1 に答える 1

0

残念ながら、Ice Cream Sandwichはタッチイベントをサポートしていないようです(http://stackoverflow.com/questions/11390902/webview-in-ics-touch-events-not-being-fired-properly) 。つまり、iOSはタッチ*イベントをサポートし、Galaxy Sはタッチ*とマウス*をサポートし、アイスクリームサンドイッチ(S3)はタッチ*をサポートしません。エガド。私が間違っているといいのですが。

于 2012-10-12T17:00:11.377 に答える