gpt4 book ai didi

jquery - 在 jquery 锤子事件中触发 off() 的正确方法

转载 作者:行者123 更新时间:2023-12-01 04:52:45 24 4
gpt4 key购买 nike

我想知道在我正在处理的简单文档上设置 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() 方法。

另请参阅:Removing hammer events

关于jquery - 在 jquery 锤子事件中触发 off() 的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17775425/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com