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 DataTables 中的 scrollX 移动问题?
JS或者jquery做 一个div不随滚动条上下移动改变位置的效果,就是div始终保持在浏览器的一个位置,不用css