私はかなり重いiPhone Web / PhonegapアプリにiScroll 4を使用しており、基本的にクリック時にiScrollsスクロール機能と標準の「ネイティブ」Webviewスクロールを切り替える方法を見つけようとしています。これが欲しい理由を以下に説明します。
私のアプリには、いくつかの異なるサブページがすべて 1 つのファイルに含まれています。一部のサブページには入力フィールドがあり、一部のサブページにはありません。ご存知のように、iScroll + 入力フィールド = 残念です。スクロールが重要で、入力フィールドがない 1 つのサブページを iScrolls ラッパー div (およびそのすべての機能) で囲みました。他のセクションは、この divの外側に配置しただけなので、スクロール機能はまったくありません。もちろん、すべてをラッパー内にラップし、iScroll を有効/無効にしようとしましたが (以下を参照)、まったくうまくいきませんでした:
myScroll.disable()
myScroll.enable()
いくつかのサブページをメインのスクロール領域 / iScroll div の外に配置することで、iScroll と標準の Web ビュー スクロール(後者 - iScroll が行うと思われる) の両方を無効にしました。ただし、以下の行を追加することで、垂直方向の可動性を得ることができました (それは一言でしょうか?)。残念ながら、これでは基本的なスクロール機能しか使えないため、指で画面を垂直にスワイプする以上のスクロールはありません。大量のコンテンツをブラウズするひどい方法
document.removeEventListener('touchmove', preventDefault, false);
document.removeEventListener('touchmove', preventDefault, true);
したがって、iScroll のラッパー div の外側に配置されたサブページで標準の webview スクロールを有効にする方法を探しています。上記のようなさまざまなアプローチを試みましたが、成功しませんでした。自分でテストするためのハードコードやデモを提供していないことをお詫びします。コードが多すぎて、コンテキストから外れて表示されるため、誰の役にも立たないでしょう。
それで、iScrollスクロール機能と標準の「ネイティブ」Webビュースクロールを切り替える、JavaScriptでこれを行う方法はありますか? DOM全体を再構築したくないので、上記のような解決策が望ましいでしょう。