web-dev-qa-db-ja.com

モバイルブラウザのiScrollでクリックイベントを有効にする

IScrollを使用してWebアプリを作成していますが、iscrollラッパー内にあるdivをクリックできません。 eventPassthroughオプションをtrueに設定しようとしましたが、かなりの量のスクロールの問題が発生します。

誰かがこれを経験しましたか?

編集:私はiScroll 5を使用しています。クリックイベントはchrome、firefox、safariで機能しますが、ios mobilesafariでは機能しません。

14
smstromb

「クリック:true」オプションを設定してみてください

例:

myScroll = new IScroll('#wrapper', { click: true });

IOS6でも同じ問題が発生し、問題が修正されました

48
fabio_biondi

私も同じ問題に遭遇し、解決策として{ click: true }アプローチ(上記)を使い始めました。このアプローチの問題は、デスクトップで表示したときに2つのクリックイベントが発生することです(つまり、実際のマウスクリックからの1つのイベントと、IScrollからの1つのイベント)。

IScrollドキュメント ごとに推奨されるアプローチは、IScrollオプションを使用してカスタムの「tap」イベントを発行することです。

例:

<script type="text/javascript">
    var scroller = new IScroll('#wrapper', { tap: true });
    $('#scroller').on('click, tap', '.clickable', function() {
        //do something....
    });
</script>

<div id="wrapper">
    <div id="scroller">
        <div class="clickable"></div>
        <div class="clickable"></div>
        <div class="clickable"></div>
    </div>
</div>
10
pistol-pete

追加してみてくださいクリック:true iPhone用。 Androidは両方の下で機能しましたが、Androidなしで機能しましたクリック:true

myScroll = new IScroll('#myWrapper', { 
   tap: true, 
   click: true,    
});
0
Sumith Harshan