一种检测mouseenter vs touch点击的方法?使用Modernizr怎么样?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一种检测mouseenter vs touch点击的方法?使用Modernizr怎么样?相关的知识,希望对你有一定的参考价值。

我需要找到一种方法来了解用户是否使用鼠标悬停或触摸单击来显示和隐藏不同的菜单链接。我想做的就是这个。

if(a user used a mouseenter or mouseleave){
       $("li.mobile-show > a").hide();
       $("div.hover-over").hover(function(){
            $(".hover-dropdown", this).children().slideToggle(); 
        });
}
else if(a user used touch click){
        $("li.mobile-show > a").show();     
        $("div.hover-over").click(function(){
            $(".hover-dropdown", this).children().toggle(); 
        });
}

我尝试了Modernizr.mq('only all and (min-width: 768px)'),看看我是否可以将桌面和移动设备与电脑屏幕分开,但它不适用于显示桌面视图但只能使用触摸功能的大型平板电脑设备。帮助〜!

答案

这是一个老问题。不幸的是没有办法。没有与Modernizr,没有任何东西。

  • 桌面浏览器(至少是主要浏览器)具有ontouchstart'ontouchstart' in window)和整个Touch Events API。
  • 移动浏览器模拟鼠标事件。
  • 根据设备宽度/尺寸做出结论也容易出错:许多平板电脑的像素宽度为1280,1300和更多

以上是关于一种检测mouseenter vs touch点击的方法?使用Modernizr怎么样?的主要内容,如果未能解决你的问题,请参考以下文章

在 Android Touch 事件中看不到点击涟漪效应

如果qt安装好了,vs还是检测不到qt,可以尝试手动点击qt

移动端:移动端事件

在unity3D中,点击=触摸?

Sencha vs. jQuery Touch [关闭]

phonegap vs sencha touch 需要澄清