如何在一般HTML元素上获取触摸事件(Hammer)?

时间:2014-06-17 19:46:55

标签: onsen-ui

我在滑动菜单/导航器的页面元素中有一个DIV。我正在尝试捕获此元素上的Hammer事件,但我只能访问“触摸”事件。

var hammer = Hammer(getElementById('myDiv'));
hammer.on('touch swipe', function(e){
   console.log(e); 
});

我是否缺少某些东西,或者Onsen UI是否设置了Hammer的特定内容?

1 个答案:

答案 0 :(得分:1)

您是否取消了默认触摸事件?它对我有用。

var element = document.querySelector('.your-div');

element.ontouchmove = function(event) {
    if (!event.elementIsEnabled) {
        event.preventDefault();
    }
};

element.ontouchstart = function(event) {
    if (!event.elementIsEnabled) {
        event.preventDefault();
    }
};

element.ontouchend = function(event) {
    if (!event.elementIsEnabled) {
        event.preventDefault();
    }
};

var hammertime = Hammer(element).on("swiperight", function(event) {
    //do stuff
});