Hammer. js 이벤트 상호 배척 중첩 requireFailure 와 recognizeWith

2020 단어 웹 전단Javascript
본 고 는 hammer. js 의 사건 중첩 과 상호 배척 문 제 를 간단하게 기록 하고 부당 한 점 이 있 으 면 지적 해 주 십시오. 감사합니다!
버 전: Hammer. JS - v 2.0.8
먼저 recognizeWith 를 말 해 보 세 요. 이것 은 이해 하기 쉽 습 니 다. 바로 다 중 제스처 이 벤트 를 동시에 식별 할 수 있 습 니 다. 예 를 들 어. recognizeWith (더 블 클릭) 를 클릭 한 경우 두 번 클릭 하면 클릭 (두 번 클릭 하여 리 셋) 과 더 블 클릭 이벤트 (한 번 더 블 클릭 으로 리 셋) 를 촉발 할 수 있 습 니 다.
requireFailure 의 역할 은 여러분 이 스스로 원문 을 볼 수 있 습 니 다. 제 개인 적 인 이 해 는 예 를 들 어. recognizeWith (더 블 클릭) 를 누 르 고 . requireFailure (더 블 클릭) 를 누 르 면 두 번 째 클릭 후, 즉 더 블 클릭 후 클릭 한 리 턴 함 수 를 촉발 합 니 다. 더 블 클릭 의 리 턴 을 촉발 하지 않 습 니 다. 간단하게 이해 하면 클릭 의 조건 을 만족 시 킨 후에 더 블 클릭 은 상관 하지 않 습 니 다.
다음은 실험 코드 입 니 다. 필요 한 것 이 있 으 면 뛰 어 보 세 요.
var doc = document;
(function(){
    var box = doc.getElementById("box");
    var hm = new Hammer.Manager(box);
    var singletap = new Hammer.Tap({event: 'singletap'});
    var doubletap = new Hammer.Tap({event: 'doubletap', taps: 2});

    var panh = new Hammer.Pan({event: 'panh', direction: Hammer.DIRECTION_HORIZONTAL});
    var panv = new Hammer.Pan({event: 'panv', direction: Hammer.DIRECTION_VERTICAL});
    var swipe = new Hammer.Swipe();

    hm.add([panh, panv, singletap, doubletap, swipe]);

    doubletap.recognizeWith(singletap);
    singletap.requireFailure(doubletap);
    //swipe.recognizeWith(panh);
    //panv.requireFailure(panh);
    //swipe.requireFailure(panh);
    //*
    hm.on('panh', function(e) {
        console.log('panh event');
        console.log(e);
    });
    hm.on('panv', function(e) {
        console.log('panv event');
        console.log(e);
    });
    //*/
    hm.on('doubletap', function(e) {
        console.log('doubletap event');
        console.log(e);
    });
    hm.on('singletap', function(e) {
        console.log('singletap event');
        console.log(e);
    });
    hm.on('swipe', function(e) {
        console.log('swipe event');
        console.log(e);
    });
})();

좋은 웹페이지 즐겨찾기