【问题标题】:Replicating mousemove() event for tablet and mobile为平板电脑和移动设备复制 mousemove() 事件
【发布时间】:2014-06-26 23:22:57
【问题描述】:

我正在尝试重新创建一段为桌面编写的代码,以便在mousemove 上显示菜单。

这在 iPad / 移动设备上不起作用,所以我试图将其转换为点击时相同的事件,但如何使它起作用?

桌面代码:

$(function() {
$("body").mousemove(function () {
    /* specify the time in milliseconds */
    /* 100 = fast fade-in, 1000 = slow fade-in */
    $("#fader").fadeIn(500);  
});
    }

我正在为手机/平板电脑编写的代码,目前无法使用:

$("body").on({ 'tap' : function(){   
    $("#fader").fadeIn(500);  } });
});
    }

【问题讨论】:

  • 你试过mousedown吗?

标签: javascript jquery mobile tablet


【解决方案1】:

如果有 tap 事件,您可以简单地执行以下操作:

$("body").on('tap', function(){
  $("#fader").fadeIn(500);
});

但由于 jQuery 核心无法识别 jQuery 触摸事件,因此您必须使用像强大的 hammer.js(在 GitHub)这样的库:

只需在 jquery 之后和调用您的代码之前包含该库,上面的代码应该可以工作。

<script type="text/javascript" src="./jquery.hammer.min.js"></script>

【讨论】:

  • 好的,谢谢,刚刚下载并添加了脚本。同一段代码可以使用吗?
  • 不是mousemove部分,但您现在可以收听tap等事件
  • 好的,谢谢,刚刚下载并添加了脚本。我已经按照在hammer.js上找到的内容将代码修改为下面的代码,但仍然没有乐趣......知道为什么吗? var element = document.getElementById('body'); var锤子时间=锤子(元素).on(“点击”,函数(){$(“#fader”).fadeIn(500);}}); }); }
  • 右大括号比左大括号多。您检查浏览器控制台是否有错误?
  • 对,如果有人遇到同样的问题,我使用以下代码解决了它: 感谢大家的帮助,已投票赞成您的评论。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多