如何删除Hammer.js 2.0中的事件监听器,并将识别器绑定到一个新函数
How to remove an event listener in Hammer.js 2.0 and bind the recognizer to a new function
我对如何正确删除Hammer.js 2.0中的事件侦听器有点困惑
按照这个问题的建议,我似乎只需要使用
mc.off(eventString, functionEvent);
然而,我似乎不能得到这个工作,当我有2个函数,我需要与相同的识别器调用。我的例子是,我需要有人panleft,然后我需要删除这个监听器并监听另一个panleft。
正如您在我的简化的相互依赖示例中看到的,我尝试在第一个函数中调用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;
}
正如我上面链接到的问题及其jsfield
所示正如在回答中提到的,您可以通过不使用匿名函数来解决这个问题。
hammertime.on("touch", callback);
然而,它似乎并没有解决我试图删除初始函数并绑定到具有相同识别器的新函数的问题。
我最后只是添加了一个新元素并将其绑定到第二个函数。我的建议是一样的,你可能应该只有一个panleft
事件的元素,如果它需要做一些不同的事情,只是添加另一个锤子元素与panleft
在它上面。
相关文章:
- 在VanillaJS中模拟模型双向数据绑定
- 无法通过数组映射绑定
- 主干-不管怎样,检查事件以前是否绑定过
- 用于搜索的聚合物嵌套绑定
- Angular:更新一次性绑定的数据
- 如何使用ngrepeat和双向绑定获得指令的隔离范围
- react.js中的密钥绑定
- 使用regex的jquery keydown绑定不会验证撇号和句点
- 将事件处理程序绑定到任何可能的事件
- AngularJS指令只识别双向绑定类型
- Telerik rad组合框多列数据绑定
- 对API数据使用声明性绑定
- ng使用一个不识别临时变量形式ng repeat的函数绑定html
- 双向绑定不识别 AngularJS 中的变量变化
- 无法识别余烬组件 - 绑定属性渗入控制器
- 无法识别角度JS绑定的HTML函数
- Javascript不能识别绑定后的typescript需求
- 如何删除Hammer.js 2.0中的事件监听器,并将识别器绑定到一个新函数
- Jquery元素没有重新绑定+ HTMLDivElement无法识别的表达式
- 为什么这段代码不能识别绑定到ObservableArray上的变化?