我想禁用我的整个jqm网络应用程序的滚动,但如果您尝试滚动某个类的div,则允许滚动
所以我的滚动div .info
已应用overflow:scroll
并且我有这个脚本试图检测你是否正在触摸它
$('.info').bind('touchstart', function (e) {
if (e.type == "touchstart") {
return true;
} else {
event.preventDefault();
}
});
$(document).bind('touchmove', function () {
event.preventDefault();
})
现在,关闭文档的滚动但是当我尝试滚动我的信息div时,它不会滚动。
现在我已经看到了一些关于同样想法的帖子,但主要是为了固定一个对象的位置,这样当文档滚动时,它就会停留在同一个地方。
答案 0 :(得分:6)
这就是我一直在做的事情:
$(document).on('touchmove', function(ev) {
if ( !$(ev.target).closest('.is-scrollable').length ) {
ev.preventDefault();
}
})
.is-scrollable
将成为您的班级,在这种情况下为.info
。
编辑:修复可滚动div顶部和底部的滚动:
$('.is-scrollable').on('touchstart', function() {
var el = $(this);
if ( el.scrollTop() <= 0 ) {
el.scrollTop(1);
}
if ( el.scrollTop() >= el[0].scrollHeight ) {
el.scrollTop(el[0].scrollHeight - 1);
}
});