我做到了使用event.gesture.preventDefault:
$('#horizontalCarousel').hammer({ drag_lock_to_axis: true }).on("swipe drag", function(event) {
event.gesture.preventDefault();
if(event.type == "swipe"){
swipeAction(event);
} else {
dragAction(event);
}
});
這裏是給documentation
[編輯]
我的回答只是讓你知道你使用了錯誤的event.preventDefault()。事實上,你也使用錯誤的語法來檢查事件的方向。你應該能夠管理它以這種方式,雖然我沒有測試它:
$(document).hammer({ drag_lock_to_axis: true }).on("swipe drag", function(event) {
if (event.gesture.direction == Hammer.DIRECTION_UP || event.gesture.direction == Hammer.DIRECTION_DOWN){
event.gesture.preventDefault();
}
});
兩件事情改變:event.gesture.direction和event.gesture.preventDefault(); event.direction是在老版本的錘子js上使用它的方法。
注意:如果您想要使用滑動事件做些事情,例如:在滑動時水平跳過更大的數量,您可以合併我的答案。
你有沒有試過更新的答案? – 2014-05-02 11:11:49