jQuery + 移动设备:我如何上下滚动? (iOS:iPad)

Posted

技术标签:

【中文标题】jQuery + 移动设备:我如何上下滚动? (iOS:iPad)【英文标题】:jQuery + mobile devices: how do I scroll up and down? (iOS: iPad) 【发布时间】:2011-08-24 15:26:25 【问题描述】:

这是我正在使用的库:http://www.netcu.de/jquery-touchwipe-iphone-ipad-library 这是我的代码:

                $j("#section-content").touchwipe(
                     wipeLeft: function() $j('#next-page').trigger('click'); ,
                     wipeRight: function()  $j('#prev-page').trigger('click');  ,
                     wipeUp: function()  alert("up"); ,
                     wipeDown: function()  alert("down"); ,
                     min_move_x: 20,
                     min_move_y: 20,
                     preventDefaultEvents: true
                );

现在,wipeUp 和wipeDown 似乎不起作用(我在我的Mac 上的虚拟iPad 上看不到任何警报)。 真正的问题是,当我有一个可以左右擦除的对象时,它会阻止向上向下擦除(对于滚动长页面至关重要)。

那么我该如何通过向上擦除/向下擦除重新启用滚动?有没有更好的 jquery 库可以做到这一点?

【问题讨论】:

【参考方案1】:

在您使用的那个脚本中,注释掉这一行:

     function onTouchMove(e) 
         if(config.preventDefaultEvents) 
             // e.preventDefault();
         

(阻止默认行)

它可以防止移动浏览器执行此操作。

【讨论】:

无需更改脚本,只需在脚本中设置preventDefaultEvents: false即可。【参考方案2】:

您也可以尝试在代码中使用以下内容

$("#section-content").touchwipe(
      preventDefaultEvents: false,
      wipeLeft: function() 
      $("#section-content").cycle("next");
      $("#section-content").cycle("pause");
      return false;
    ,
    wipeRight: function() 
    $("#section-content").cycle("prev");
    $("#section-content").cycle("pause");
    return false;
    
    ); 

这可能是更好的选择,因为通常最好不要编辑插件的源代码,因为当您使用较新版本更新它时,您必须记住更改代码....是几十个站点的倍数这可能是一项真正的努力!

【讨论】:

【参考方案3】:

只需设置preventDefaultEvents: false

本地喜欢

   $("#section-content").touchwipe(
   preventDefaultEvents: false ...

或全局喜欢

   var config = 
   preventDefaultEvents: true ...

【讨论】:

以上是关于jQuery + 移动设备:我如何上下滚动? (iOS:iPad)的主要内容,如果未能解决你的问题,请参考以下文章

jquery效果:DIV随浏览器滚动条上下移动

JQuery 滚动按钮在某些浏览器和移动设备上不起作用

如何修复移动设备上 jQuery DataTables 中的 scrollX 移动问题?

JS或者jquery做 一个div不随滚动条上下移动改变位置的效果,就是div始终保持在浏览器的一个位置,不用css

Jquery mobiscroll 移动设备(手机)wap日期时间选择插件以及滑动滚动插件

滚动无法动态添加到 jQuery 移动列表的项目