FastClick的用法「建议收藏」

FastClick的用法「建议收藏」为什么要使用FastClick移动设备上的浏览器默认会在用户点击屏幕大约延迟300毫秒后才会触发点击事件,这是为了检查用户是否在做双击。为了能够立即响应用户的点击事件,才有了FastClick。FastClick的使用安装fastclick可以使用npm,Component和Bower。另外也提供了Ruby版的gemfastclick-rails以及.NET提供了NuGetpack…

大家好,又见面了,我是你们的朋友全栈君。

为什么要使用FastClick

移动设备上的浏览器默认会在用户点击屏幕大约延迟300毫秒后才会触发点击事件,这是为了检查用户是否在做双击。为了能够立即响应用户的点击事件,才有了FastClick。

FastClick的使用

安装fastclick可以使用npm,Component和Bower。另外也提供了Ruby版的gem fastclick-rails以及.NET提供了NuGet package。最直接的可以在页面引入fastclick js文件。如:

<script type='application/javascript' src='/path/to/fastclick.js'></script>

初始化FastClick实例

初始化FastClick实例建议在页面的DOM文档加载完成后。

纯Javascript版

if ('addEventListener' in document) {
    document.addEventListener('DOMContentLoaded', function() {
        FastClick.attach(document.body);
    }, false);
}

jQuery版

$(function() {
    FastClick.attach(document.body);
});

类似Common JS的模块系统方式

var attachFastClick = require('fastclick');
attachFastClick(document.body);

调用require(‘fastclick’)会返回FastClick.attach函数。

使用needsclick过滤特定的元素

如果页面上有一些特定的元素不需要使用fastclick来立刻触发点击事件,可以在元素的class上添加needsclick:

<a class="needsclick">Ignored by FastClick</a>

不需要使用fastclick的情况

以下这几种情况是不需要使用fastclick:

1、FastClick是不会对PC浏览器添加监听事件
2、Android版Chrome 32+浏览器,如果设置viewport meta的值为width=device-width,这种情况下浏览器会马上出发点击事件,不会延迟300毫秒。

<meta name="viewport" content="width=device-width, initial-scale=1">

3、所有版本的Android Chrome浏览器,如果设置viewport meta的值有user-scalable=no,浏览器也是会马上出发点击事件。
4、IE11+浏览器设置了css的属性touch-action: manipulation,它会在某些标签(a,button等)禁止双击事件,IE10的为-ms-touch-action: manipulation

项目地址:https://github.com/ftlabs/fastclick

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150812.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 使用pycharm连接MySQL数据库的方法「建议收藏」

    使用pycharm连接MySQL数据库的方法「建议收藏」首先进入到mysql中,点击最右边的database,再点击绿色的+号选择添加MySQL数据库 如果屏幕右边没有的话可以点击上面的视图,点击工具窗口中就会有database选项 打开之后发现即使输入了里面的所需信息,还是无法点击TestConnection 原因是我们缺少了一个驱动 点击下面的mysql,我们现在缺少了一个java驱动。我们可以去官网下载:h…

    2022年8月26日
    13
  • C1能力认证训练题解析 _ 第四部分 _ Web进阶「建议收藏」

    C1能力认证训练题解析 _ 第四部分 _ Web进阶「建议收藏」C1见习工程师能力认证训练题_第四部分_Web进阶

    2022年10月20日
    3
  • 超详细Anaconda安装教程

    超详细Anaconda安装教程超详细Anaconda安装教程

    2022年8月29日
    5
  • keil5使用教程

    keil5使用教程简单介绍keil5得使用教程。

    2022年5月28日
    57
  • splice方法的使用_assign方法

    splice方法的使用_assign方法splice方法常用于数组内指定元素删除,例:vardata=[1,2,3,4,5]data.splice(1,1)console.log(data)打印出来的值为[1,3,4,5]也可用于删除多个,例如:data.splice(1,2)打印值为[1,4,5]注释:splice(第一个值为从何处开始,第二个值为删除几个)第一个值为index下标,从0开始,删除数组内的第几个元素第二个值为删除几个元素,从第一个值定义的下标位置开始扩展:splice方法也可用于数据的增加,修改,例

    2022年9月24日
    2
  • clion激活码_在线激活[通俗易懂]

    (clion激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月22日
    96

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号