我对如何在Hammer.js 2.0中正确删除事件监听器感到困惑。
按照question中的建议,我似乎只需要使用
mc.off(eventString, functionEvent);
然而,当我有2个函数需要使用相同的识别器调用时,我似乎无法使用它。我的例子是我需要有人来panleft,然后我需要删除这个监听器并听取另一个panleft。
正如您在简化的codepen example中看到的那样,我尝试在第一个函数中调用mc.off
,然后设置下一个事件,但它同时运行。
所以在我的例子中我想要的是第一个panleft
触发第一个函数,然后第二个panleft
触发一个新函数
var myElement = document.getElementById('myElement');
var mc = new Hammer(myElement);
mc.on("panleft", function(ev) {
selectFirst('first')
});
function selectFirst (text) {
myElement.textContent = text;
mc.off('panleft', selectFirst);
mc.on("panleft", function(ev) {
selectSecond('second')
});
}
function selectSecond (text) {
myElement.textContent = text;
}