我正在使用Hammer.js來尋找水平平移手勢,我設計了一個簡單的功能,當向左或向右平移時單擊按鈕。它工作正常,除了垂直滾動在觸摸設備上不做任何事情,或者它真的非常奇怪。Hammer.js打破垂直滾動當水平平移
這裏的功能:
var panelSliderPan = function() {
// Pan options
myOptions = {
// possible option
};
var myElement = document.querySelector('.scroll__inner'),
mc = new Hammer.Manager(myElement);
mc.add(new Hammer.Pan(myOptions));
// Pan control
var panIt = function(e) {
// I'm checking the direction here, my common sense says it shouldn't
// affect the vertical gestures, but it blocks them somehow
// 2 means it's left pan
if (e.direction === 2) {
$('.controls__btn--next').click();
// 4 == right
} else if (e.direction === 4) {
$('.controls__btn--prev').click();
}
};
// Call it
mc.on("panstart", function(e) {
panIt(e);
});
};
我試圖在水平方向增加了識別器,但它並沒有真正的幫助(不知道如果我做到了,即使右):
mc = new Hammer.Manager(myElement, {
recognizers: [
[Hammer.Pan,{ direction: Hammer.DIRECTION_HORIZONTAL }],
]
});
謝謝!
請提供一個工作的jsfiddle所以我們可以幫助你。 – 2014-11-10 09:53:38