首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

300ms点击延迟

300ms点击延迟 移动端的300ms点击延迟是因为移动端可以进行双击缩放的操作,因此浏览器在click之后要等待300ms,看用户有没有下一次点击,也就是判断这次操作是单击还是双击。...B元素上,如果B元素是个链接或者绑定了click事件,那么B元素的默认行为或者是绑定的事件回调便会意外地触发,这就是点击穿透问题,解决这个问题还是需要解决click事件的300ms延迟问题。...解决方案 禁止缩放 通过完全禁止缩放来使双击缩放的功能失效,此时浏览器就可以禁用默认的双击缩放行为并且去掉300ms点击延迟,但是在这种情况下双指缩放的功能也会失效。...maximum-scale=1"> 更改默认的视口宽度 浏览器在包含width=device-width也就是视口宽度=设备宽度或者设置为比viewport值更小的页面上禁用双击缩放行为,没有双击缩放就没有300ms点击延迟...none; /* 浏览器兼容性 https://caniuse.com/#search=touch-action */ FastClick FastClick是FT Labs专门为解决移动端浏览器300ms点击延迟问题所开发的一个轻量级的库

1.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

移动端点击事件延迟的诞生消亡史

这种延迟是许多用户认为基于 HTML 的 Web 应用程序“卡顿”的最重要原因之一。在本文中,本文将带你了解移动端点击事件延迟的从诞生到消亡的过程。...因此,IOS Safari 浏览器首先引入了 300 毫秒延迟,用来判断用户是否会再次点击,也就是说,在第一次点击延迟 300 毫秒,300 毫秒后用户没有再次点击则认定为用户在进行普通的单击操作,并触发单击...FastClick FastClick 是一个小型 JavaScript 库,专门旨在防止移动浏览器中的 300ms 点击延迟。...现代浏览器 得益于现代浏览器对 W3C 规范 touch-action: manipulation 的支持性,才真正彻底解决了点击事件延迟的问题。...禁用双击缩放功能可减少浏览器在用户点击屏幕时延迟生成点击事件的需要。代码如下: html { touch-action: manipulation; } 从此,移动端点击事件延迟正式宣告消亡。

2.7K20

Vue.js中的延迟加载和代码拆分

在本系列中,我将深入研究我们在实践中使用的Vue性能优化技术,并且您可以在Vue.js应用程序中使用它们,使应用程序快速加载并顺利执行。...有关案例统计,延迟2秒导致每位访客的收入损失4.3%。 延迟加载 那么当我们仍然需要添加新功能并改进我们的应用程序时,我们如何削减budle包大小?答案很简单 - 延迟加载和代码分割。...要查看我们网站中实际使用了多少JavaScript代码,我们可以转到devtools - > cmd(ctrl) + shift + p - >输入coverage - >点击Performance instrument...现在是时候看看我们如何在我们自己的Vue.js应用程序中使用延迟加载。 动态导入 我们可以使用webpack的动态导入,轻松地加载我们应用程序的某些部分。...在本系列的下一部分中,我将向您展示在任何Vue.js应用程序上获得显着性能提升的最有用(也是最快)的方法。 您将学习如何使用异步路由拆分Vue代码,以及此过程中推荐的最佳实践。

7.7K10

js监听手机点击物理返回键或js监听pc端点击浏览器返回键

之前在项目中遇到一个问题,就是在微信网页上面本来是有返回按钮的,但是大多数人都为了方便,会使用安卓手机自带的物理返回键,这个返回键按下后,就会按照你浏览器的栈存储的路径来一层一层返回,就不执行你页面上的那个返回按钮的操作了...window.onpopstate; 当onpopstate被触发时,检查event.state是否等于STATE,如果相等,表示页面发生了后退(按下返回键或者浏览器的后退按钮),则把这次行为当作是返回键被按下了(把点击浏览器的后退按钮也误算进来了...alert('ah, press press press'); });  具体使用的时候,也有一些问题: 因为这个是实现利用histroy.pushState写入了一个指定状态STATE,你点击一次后...上次那个监听的操作执行完后,你还需要监听这个物理返回键,这时候你就需要再上次那个操作完之后再使用histroy.pushState再写入一次之前写入的那个状态,这样下次会继续监听那个物理返回键,否则下次你再点击那个返回键的话...,就会直接返回浏览器的栈的上一级 不过这个方法有些缺陷: 如果项目本身使用了pushState,则历史记录会有瑕疵(多了一个历史); 浏览器的后退按钮点击以及调用history.back()也会被当成按下了返回键

9.1K10

实验 | 使用手机微信配合点击劫持漏洞进行钓鱼

准备 为了使受害者更加信任,首先需要一个有点击劫持漏洞的网站来配合完成,因为此次实验环境是手机微信的QQ邮箱提醒功能(通过这个功能可直接从手机微信上查看邮件),所以就去找找相关的资产,首先找到的是QQ邮箱官网...vps,并且开启web服务,将写好的点击劫持文件放在web目录。...代码写的确实不精湛,无所谓,实现功能才是这次的目的,当受害者输入账号密码点击登陆时,其实点击的是我们构造的钓鱼页面,在第一段代码中我们构造了一个登陆get请求表单,当受害者提交登陆请求的时候实际上的操作为...username=xxx&password=xxx而参数会记录在日志中,这样就可以窃取远程受害者的输入内容: 第二段实际上是点击劫持漏洞利用,利用视觉上的欺骗进行劫持操作: 在测试中发现手机访问的时候并不是...https://mail.qq.com这个域名,而手机网页版的地址是:https://w.mail.qq.com,最终代码为: 漏洞利用 终于来到了漏洞利用,偶然间发现如果直接发送测试html代码,微信的

52810

Vue移动端 Web App 点击穿透问题解决方案

我们发现,当我们点击B元素,B元素被隐藏了,随后,A元素触发了click事件。...通过上网查找有关资料,翻阅了移动端的书籍,发现在手机端中,事件的触发顺序为:touchstart -> touchmove -> touchend,而 click 事件有 300ms 的延迟,当 touchstart...改用 touch 事件 由于项目使用的是 Vue.js,这里就提供一下 Vue.js 的解决方法。...使用了 vue-tap 的一个插件,具体使用方法参看官方文档,在需要点击事件的时候,通过 v-tap 指令来绑定。...手机上响应 click 事件会有300ms的延迟,那么这300ms到底是干嘛了?浏览器在 touchend 后会等待约300ms,原因是判断用户是否有双击(double tap)行为。

1.6K30
领券