在移动浏览器上启用iScroll中的单击事件

时间:2013-07-21 00:37:35

标签: javascript mobile iscroll iscroll4

我正在使用iScroll创建一个Web应用程序,我无法单击iscroll包装器中的任何div。我尝试将eventPassthrough选项设置为true,但它会导致大量滚动问题。

有人经历过这个吗?

编辑:我正在使用iScroll 5.点击事件可以运行chrome,firefox和safari,但不适用于ios mobile safari。

3 个答案:

答案 0 :(得分:48)

尝试设置选项“click:true”

示例:

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

我在IOS6上遇到了同样的问题并修复了问题

答案 1 :(得分:10)

我也遇到了同样的问题,并开始使用{ click: true }方法(如上所示)作为解决方案。这种方法的问题是,当您在桌面上查看时,您将获得两个点击事件(即来自实际鼠标点击的一个事件,以及来自IScroll的一个事件)。

IScroll documentation建议的方法是使用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>

答案 2 :(得分:0)

尝试为iphone添加点击:true 。 Android适用于以下两者。但是android没有 click:true

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