如何在scopeContaner上为触摸设备启用“ pan”事件-Thumbnail Viewer嵌入式SVG

时间:2018-11-17 23:36:54

标签: javascript hammer.js svgpanzoom

我正在使用很棒的svg-pan-zoom插件(https://github.com/ariutta/svg-pan-zoom)。

我实现了缩略图查看器,就像在演示http://ariutta.github.io/svg-pan-zoom/demo/thumbnailViewer.html中找到的一样。

clicking和mousemove事件正常运行。 现在,我想在用户平移scopeContainer时在触摸设备上启用平移事件侦听器。

我试图通过使用HammerJs添加“ pan”在主要源代码(thumbnailViewer.js)上添加事件侦听器。没有运气。

代码

var scopeContainer = document.getElementById('scopeContainer');
        scopeContainer.addEventListener('click', function (evt) {
            //console.log(evt.which) - returns 1
            updateMainViewPan(evt);
        });

        scopeContainer.addEventListener('mousemove', function (evt) {
            updateMainViewPan(evt);
        });
        const mc = new window.Hammer(scopeContainer,
            {
                inputClass: window.Hammer.SUPPORT_POINTER_EVENTS ? window.Hammer.PointerEventInput : window.Hammer.TouchInput
            });
        mc.set({ enable: true });
        mc.on("pan", function (evt) {
           //console.log(evt.which) - return undefined
          //console.log(evt) - returns Touch
            updateMainViewPan(evt); // gives error
            //$("#scopeContainer").trigger('click');
        });

错误。 错误:属性转换:期望的数字,“ ... 824701313996363,NaN,NaN)”。

Error Link

0 个答案:

没有答案