Javascript Hammer.js 2处于仅侦听模式

Javascript Hammer.js 2处于仅侦听模式,javascript,hammer.js,Javascript,Hammer.js,当我指定hammer在窗口上捕获时,存在一个问题,因为没有ownerDocument function getWindowForElement(element) { var doc = element.ownerDocument; return (doc.defaultView || doc.parentWindow); } 我这样做的原因是因为我只想听听页面上发生的所有hammer.js事件。如果我使用hammer.js 1中推荐的document.body,页面的默认操作将被阻止。在ham

当我指定hammer在窗口上捕获时,存在一个问题,因为没有ownerDocument

function getWindowForElement(element) {
var doc = element.ownerDocument;
return (doc.defaultView || doc.parentWindow);
}

我这样做的原因是因为我只想听听页面上发生的所有hammer.js事件。如果我使用hammer.js 1中推荐的document.body,页面的默认操作将被阻止。在hammer.js 1中,情况并非如此。我可以做类似的事情

hammertimeArray.push(new Hammer(document.body, gestureOptions));

hammer 1和hammer 2之间发生了什么变化,我无法再在不影响页面行为的情况下收听事件。在hammer 2中有没有办法做到这一点?目前我所做的是:

hammertime = new Hammer.Manager(window);
                    hammertime.add(new Hammer.Tap({event: 'tap'}));
                    hammertime.add(new Hammer.Pan({direction: Hammer.DIRECTION_ALL}));
                    hammertime.add(new Hammer.Press());
                    hammertime.add(new Hammer.Pinch({enable: true}));
                    hammertime.on(eventsToEnable, function hammertimeOnCallback(eventData) {
                            recordEvent(eventData);
                    });
                    hammertimeArray.push(hammertime);
如果像我在那里做的那样创建以窗口作为参数的管理器,我会遇到documentOwner问题。如果使用document.body创建管理器,则页面上的默认操作将被阻止。我可以通过设置
window.documentOwner=document
来破解解决方案

hammertime = new Hammer.Manager(window);
                    hammertime.add(new Hammer.Tap({event: 'tap'}));
                    hammertime.add(new Hammer.Pan({direction: Hammer.DIRECTION_ALL}));
                    hammertime.add(new Hammer.Press());
                    hammertime.add(new Hammer.Pinch({enable: true}));
                    hammertime.on(eventsToEnable, function hammertimeOnCallback(eventData) {
                            recordEvent(eventData);
                    });
                    hammertimeArray.push(hammertime);