我目前正在绞尽脑汁地尝试让 iscroll 4 与 jQuery Mobile 一起使用。
如果我禁用 JQM ajax 默认导航,一切都会正常工作,但我想保留它。
我的问题是我无法弄清楚如何成功调用/绑定(bind) iscroll,以便它适用于需要它们的页面。我尝试了 pageinit() 和 pagecreate() 但没有成功。
可以在这里找到一个基本示例: http://bit.ly/ngXkNR
非常感谢任何指点。
A.
最佳答案
谢谢贾斯珀, 我稍微改变了你的方法,这样你就可以在用类标识的任何包装器上调用 iScroll 。 另外,我卸载并销毁 pagehide 事件上的所有 iScroll 实例 - 我不需要刷新方法来满足我的需求:
// iScroll variable
var myScroll = [];
$(document).delegate('[data-role="page"]', 'pageshow', function () {
var $page = $(this);
// setup iScroll
$($page.find('.iscroll_wrapper')).each(function(index) {
var scroller_id = $(this).get(0);
myScroll.push(
new iScroll(scroller_id, {
snap : true,
momentum : false,
hScrollbar : false
}));
});
});
$(document).delegate('[data-role="page"]', 'pagehide', function () {
// unset and delete iScroll
for (x in myScroll)
{
myScroll[x].destroy();
myScroll[x] = null;
myScroll.splice(x, 1);
}
});
关于jquery - 使用 iscroll 与 jquery 移动绑定(bind)问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7725587/