gpt4 book ai didi

javascript - 在计算机上禁用 HammerJS 滑动和拖动事件? (即禁用鼠标事件?)

转载 作者:行者123 更新时间:2023-11-29 18:22:49 25 4
gpt4 key购买 nike

我正在使用在这里找到的 Hammer.js:
http://eightmedia.github.io/hammer.js/

然后我像这样设置/创建 Hammer 对象:

var hammertime = Hammer(document.body)
.on("pinchin drag swipe", function(event) {
var alpha_value = $( "#collide_alpha" ).slider( "option", "value" );
var beta_value = $( "#collide_beta" ).slider( "option", "value" );
if(alpha_value < 50) {
$( "#collide_alpha" ).slider( "value", ~~(+alpha_value+(event.gesture.distance/30)) );
} else if(alpha_value <= 100) {
$( "#collide_alpha" ).slider( "value", ~~(+alpha_value-(event.gesture.distance/30)) );
}
if(beta_value < 50) {
$( "#collide_beta" ).slider( "value", ~~(+beta_value+(event.gesture.distance/30)) );
} else if(beta_value <= 100) {
$( "#collide_beta" ).slider( "value", ~~(+beta_value-(event.gesture.distance/30)) );
}
});

之后,我尝试这样做:

// Try to disable the mouse movements on computer
hammertime.STOP_MOUSEEVENTS = true;
hammertime.NO_MOUSEEVENTS = true;

但这不起作用,那么我应该如何仅针对计算机禁用事件?但让它们在 iPhone 和 Android 上处于事件状态。我目前不关心 Windows 8 触摸屏,所以我不介意它不适用于那些。

最佳答案

我通常会在发射锤子之前尝试检测设备是否为触摸屏。最好只在需要时加载而不是在不需要时加载

最受支持的方法之一是

var is_touch_device = 'ontouchstart' in document.documentElement;

然后只需将您的锤子初始化包装在

if(is_touch_device){
// hammer stuff
}

或者,如果您只关心少数设备,您可以嗅探用户代理,但这可能有点笨拙并且容易遗漏一些东西。

关于javascript - 在计算机上禁用 HammerJS 滑动和拖动事件? (即禁用鼠标事件?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16685456/

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