我想知道在我正在处理的简单文档上设置 Hammer.js 配置的最佳方法是什么。这是我的代码:
var tappableArea = $('.content');
var touchableArea = $('.sidebar');
function reloadHammerGestures() {
tappableArea.hammer().off("doubletap");
touchableArea.hammer().off("swipeleft swiperight");
hammerGestures();
}
function hammerGestures() {
tappableArea.hammer().off("doubletap");
touchableArea.hammer().off("swipeleft swiperight");
if (fullScreenMode()) {
touchableArea.hammer().on("swipeleft swiperight", function(event) {
alert("swiped!");
});
else if (!fullScreenMode()) {
tappableArea.hammer().on("doubletap", function(event) {
alert("tapped");
});
}
}
$(document).ready(function() {
hammerGestures();
});
$(window).resize(function () {
reloadHammerGesture();;
});
并且该函数都加载在 $(document).ready()
和 (window).resize()
上,所以这就是我制作 .off()
在开头..
我想知道当屏幕模式条件更改时这是禁用它的错误方法,如果您能帮助我改进此代码,我将非常高兴。
保重,祝你有美好的一天:)
最佳答案
你可以这样做:
touchableArea.hammer().off().on(...)
或者 $(touchableArea).unbind()
可能会起作用。
或者两者都做:
$('#touchableDiv, #tappableDiv').unbind()
另外:我在 github 上看到有人添加了 hammer.destroy()
方法。
关于jquery - 在 jquery 锤子事件中触发 off() 的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17775425/