4

私の webview アプリは、Jelly Bean よりも古い Android バージョンの touchend イベントで正常に動作します。しかし、Jelly Bean では、タッチエンド イベントは信頼できません。特にスクロール可能な div では、touchend イベントが発生しないことがあり、アプリ全体が touchend イベントへの応答を停止し、タグ「webcoreglue」とテキスト「Sh​​ould not occur: no rect-based-test nodes」を含むログ メッセージが表示されます。見つかった」 少しでもスクロールすると、正常に touchend に応答し始めます。助けてください。

HTML

<div id="srpanel" class="panel">
    <div class="main sr-list">
        <div class="sr-list-item-action">
        </div>
    </div>
</div>

JS

$('.sr-list-item-action').bind('touchend', function(){
//some code
});

リスト内の各項目の for ループで div 'sr-list-item-action' を使用しています。そのため、リスト内の項目をクリックしても機能しない場合があります。それ以外の場合は、画面全体が実際にフリーズし、スクロールするまで touchend イベントの受信を停止します。$(document).scrollTop();他に観察したことは、リストの次のページに移動するときにa を実行すると、これがより多く発生することです。これが関連しているかどうかはわかりません。

4

2 に答える 2

3

まったく同じ問題がありました。多くの眠れない夜の後、これは私を救った:

window,html,body {
    overflow-x:hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overflow: scroll !important;
}
于 2013-02-21T23:44:40.517 に答える
2

バインド側ですべての「タッチエンド」を「クリック」に変更します。これは私にとってはうまくいきました。このリンクは役に立ちました: Android WebView JellyBean -> すべきではありません: rect-based-test ノードが見つかりません

于 2013-01-16T23:52:07.667 に答える