Hammer.js正在阻止iOS Safari上的滚动事件
Hammer.js is blocking scroll events on iOS Safari
我已经将Hammer.js事件添加到我网站上的一个元素中。它们都发射正确,一切都很好,但一个问题引起了我的设计师的注意。他注意到,当你尝试用手指在元素上滚动页面时,什么都不会发生。不幸的是,这是一个破坏游戏规则的游戏。
所以我的问题是,当使用Hammer.js.时,如何保持滚动
谢谢!
对于任何正在寻找解决方案的人来说,以下是我的想法。
this.$hammer = $('img').hammer();
this.$hammer.on('touchstart', fingerDown)
.on('touchend', fingerUp)
.on('pinch', setScale);
function fingerDown(e) {
var fingersDown = e.originalEvent.touches.length;
if (fingersDown > 1) {
// Lock Scrolling over the zoom element by allowing Hammer.js to fire pinch events.
toggleHammerScrolling(true);
}
}
function fingerUp(e) {
toggleHammerScrolling(false);
}
function toggleHammerScrolling(shouldScroll){
//This is where your implementation may change. Just do .get('pinch').set... on your own hammer object.
this.$hammer.data('hammer').get('pinch').set({
enable: shouldScroll
});
}
function setScale(){
console.log('do pinching stuff here');
}
相关文章:
- Safari(Mac OS)上的jQuery平滑滚动问题
- 向下滚动时隐藏菜单,向上滚动时显示,适用于Chrome,不适用于Safari(手机)
- 滚动到顶部按钮在 chrome 或 safari 中不起作用
- 移动Chrome和Safari之间的页面滚动不一致
- 移动safari浏览器的滚动问题
- 使用D3.js生成的SVG图形在Safari中滚动时消失
- iOS Safari过度滚动:下拉与弹跳
- 滚动停止视差效果在 Safari 中不起作用
- 移动 Safari 垂直滚动 - 如何在 Javascript 中检测窗口何时停止移动
- JavaScript DOM 在 touchmove 中的更改延迟到移动 Safari 上的滚动结束
- 滚动到顶部按钮,jQuery在Safari v.7.0.5中不起作用
- Safari 中的侧边栏滚动粘性问题
- 为什么在用户滚动后,设置超时不会在触摸端处理程序中触发(iOS Safari)
- 滚动时隐藏移动Safari中的地址栏(touchOverflow)
- 在iPhone上的Safari中滚动到特定位置
- Safari滚动故障
- jQuery.remove()的Safari滚动问题
- 在javascript中实现固定位置会导致Safari滚动时抖动
- 如何检测iOS7 Safari滚动时的高度变化- JavaScript
- 移动Safari滚动到底部加载更多的内容,如Facebook