0

スライド メニュー/ナビゲーターのページ要素内に DIV があります。この要素で Hammer イベントをキャプチャしようとしていますが、「タッチ」イベントにしかアクセスできません。

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

不足しているものはありますか、それとも Onsen UI が干渉している Hammer で特定のものを設定していますか?

4

1 に答える 1

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
});
于 2014-06-19T02:19:44.473 に答える