Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript hammer.js 2.0中的多次刷卡事件调用_Javascript_Hammer.js - Fatal编程技术网

Javascript hammer.js 2.0中的多次刷卡事件调用

Javascript hammer.js 2.0中的多次刷卡事件调用,javascript,hammer.js,Javascript,Hammer.js,我正在实现hammer.js滑动功能以更改滑块图像。它的工作,但有时它会引发多刷事件为单刷 当我左击的时候,它是火拖左击事件。 右击事件也是如此 我怎样才能解决这个问题 var mc = new Hammer.Manager(el); var pan = new Hammer.Pan(); var swipe = new Hammer.Swipe(); mc.add([ pan ]); mc.add(swipe).recognizeWith(mc.get('pan')); mc.on("pan

我正在实现hammer.js滑动功能以更改滑块图像。它的工作,但有时它会引发多刷事件为单刷

当我左击的时候,它是火拖左击事件。 右击事件也是如此

我怎样才能解决这个问题

var mc = new Hammer.Manager(el);
var pan = new Hammer.Pan();
var swipe = new Hammer.Swipe();
mc.add([ pan ]);
mc.add(swipe).recognizeWith(mc.get('pan'));

mc.on("panstart panmove", onPan);
mc.on("swipeleft swiperight", onSwipe);

function onSwipe(ev) {

    if (ev.type == 'swipeleft') 
    {
        var currentPage = $('#' + pageStepInputId).val();
        var totalPage = parseInt($('#' + pageCountLabelId).text());
        if (currentPage == totalPage) 
        {
            return 0;
        }
        transform.translateX = -elParent.offsetWidth * 1.5;
        requestElementUpdate();
        $('.image-loading-indicator').show();
        $(el).one("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function() 
                {
                    attachmentPreview.next(callComponentId, pageStepInputId, pageCountLabelId);
                });

        console.log('swipeleft', count++);
        ev.srcEvent.stopPropagation()


    } else if (ev.type == 'swiperight') {

        if ($('#' + pageStepInputId).val() >= 2) 
        {
            transform.translateX = elParent.offsetWidth * 1.5;
            requestElementUpdate();
            $('.image-loading-indicator').show();
            $(el).one("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function() 
                    {
                        attachmentPreview.previous(callComponentId, pageStepInputId);
                    });
        }

    }
}

FWIW,我发现我得到了多个Hammer事件,因为我无意中为同一事件安装了多个处理程序。值得检查的是,您的控制流没有执行相同的操作。

您可以发布您的代码,以便其他用户可以查看它吗?我已经在MustangXY添加了我的代码