点击穿透bug · Jaywii
微信点击穿透Bug
问题描述:
在移动端为了去除点击延迟引入了fast-click,然而在房贷计算器的开发中遇到了这样一个bug,用户点击了select之后,微信在弹出选择器之后会瞬间因为约300ms的点击穿透而立刻收起来,导致用户无法使用选择器,最初尝试在用户点击了Select之后为select下面的表单层添加pointer-events:none的CSS样式避免屏蔽点击效果,结果发现这样做只能保障穿透下去的点击事件不会点进input框导致聚焦事件发生,但是依旧无法避免弹出来的选择器收起来,初步猜测应该是由于穿透下去的点击相当于点击了一次空白区域,导致选择器收了起来。
解决方案:
最终在师傅建议下屏蔽了fast-click之后发现点击穿透现象消失,问题得以解决,但是由于关闭了fast-click导致点击事件响应变慢,用户点击input之后可以感觉到明显聚焦延迟。
关闭fast-click导致的光标自动移到最右侧失效
问题描述:
在解决微信端点击穿透bug之前,采用下面这样的一段代码来将input的光标移到最右侧:
  | 
  | 
结果在屏蔽了fast-click之后不知为何该方法失效,尝试了在监听tap和focus事件,并在事件发生之后使用定时器延迟赋值发现可以将光标置右,但是延迟非常明显,不管setTimeout中的间隔设为多少,都有将近1秒的延迟
解决方案:
将绑定是事件改为click之后,问题得到了解决,如下:
  | 
  | 
点击穿透bug · Jaywii的更多相关文章
- 移动开发之fastclick 点击穿透
		
穿透(点穿)是在mobile各种浏览器上发生的常见的bug.可能是由click事件的延迟(300ms)或者事件冒泡导致 现象:在A页面中有个 btn1<或a标签>,在B页面中有个 btn2 ...
 - 【IE6的疯狂之十三】IE6下使用滤镜后链接不能点击的BUG
		
大家可能都知道IE6下使用DXImageTransform.Microsoft.AlphaImageLoader滤镜(用于PNG32 Alpha透明)后链接不能点击的BUG,大家也都知道只要在a标签上 ...
 - 聊聊click延迟和点击穿透
		
博客原文地址:Claiyre的个人博客 https://claiyre.github.io/ 如需转载,请在文章开头注明原文地址 移动端click事件被延迟 移动端的开发经常需要监听用户的双击行为,所 ...
 - 移动端的300ms延迟和点击穿透
		
移动端300ms延迟:假定这么一个场景.用户在 浏览器里边点击了一个链接.由于用户可以进行双击缩放或者双击滚动的操作,当用户一次点击屏幕之后,浏览器并不能立刻判断用户是确实要打开这个链接,还是想要进行 ...
 - WPF的点击穿透
		
1.background 为{x:null} 或 鼠标点击会穿透,如果不想让一个透明的border点击穿透,设置透明色Transparent时就可以点到这个看起来透明的border 2.当依赖属性I ...
 - Qt 不规则窗体 – 鼠标点击穿透(Linux也可以,有对x11的配置的方法)
		
之前写过如何用 Qt 现成的方法写出无边框半透明的不规则窗体:<Qt 不规则窗体 – 无边框半透明> 其实有一个很特殊的窗体属性一直以来都伴随着不规则窗体出现,这就是本文要介绍的鼠标点击穿 ...
 - modal 弹框遮罩层,滚动穿透bug 解决方案
		
modal 弹框遮罩层,滚动穿透bug 解决方案 parent component 动态设置 lock css const computedClassName = classNames( 'activ ...
 - modal 遮罩层,滚动穿透 bug
		
modal 遮罩层,滚动 穿透bug float 弹层 taro 小程序弹框 滚动击穿 问题 https://segmentfault.com/q/1010000011134345 solution ...
 - iphone对fixed模态框支持不太好,弹出窗口中滚动点击穿透的bug
		
iphone对fixed展现层中存在滚动内容支持非常不好, 尤其是背景页面产生滚动以后,输入控件就找不到了, 取消冒泡也不行,最后是这么解决的,可以参考 <style> .modeldiv ...
 
随机推荐
- i春秋web作业2.26
			
Web安全工程师(入门班) [全国线上入门班53期]课后作业 2020-2-26 DorinXL 1)为什么说js校验是一种不安全的校验方式? js校验不安全,是因为用户很容易通过控制台删除或 ...
 - Form表单中method="post/get'的区别
			
Form提供了两种数据传输的方式--get和post.虽然它们都是数据的提交方式,但是在实际传输时确有很大的不同,并且可能会对数据产生严重的影响.虽然为了方便的得到变量值,Web容器已经屏蔽了二者的一 ...
 - GB35658较796新增检测项部标平台
			
GB35658较796新增检测项部标平台总共有113项,总结归类如下:1 报表导出 支持excel格式的报表导出 对查询.统计报表提供excel格式的报表导出 必选: 2 ...
 - idea 项目 版本控制文件
 - mysql中datetime时间转字符串(避免java层映射为数字串)
			
-- in_date datetime NULLDATE_FORMAT(ls.`in_date`,'%Y-%m-%d %T')AS create_time
 - Forest Program(2019ccpc秦皇岛F)
			
题:http://acm.hdu.edu.cn/showproblem.php?pid=6736 题意:删掉一些边使得图不存在点双,求方案数. 分析:若一条边不属于点双,那么这条边有删和不删俩种选择, ...
 - 106)PHP,缩略图代码和结果展示
			
首先是 代码展示: <?php class CImage { /** * 生成保持原图纵横比的缩略图,支持.png .jpg .gif * 缩略图类型统一为.png格式 *@param $src ...
 - python语法基础-基础-赋值与深浅拷贝
			
##################################### 预备知识一——python的变量及其存储 在详细的了解python中赋值.copy和deepcopy之前,我们还是要花一点时 ...
 - java5的静态导入import static
			
在Java 5中,import语句得到了增强,以便提供甚至更加强大的减少击键次数功能,虽然一些人争议说这是以可读性为代价的.这种新的特性成为静态导入. 1.静态导入的与普通import的区别: imp ...
 - python3多线程应用详解(第二卷:多线程到底是怎么工作的)
			
现在很多人都说用多线程工作快是因为多个不同任务可以同时执行,注意我说的是不同任务,要是重复做一件事达到相同效果就是画蛇添足了,其实这是个错误的说法,线程真正的本质是无法同时执行的.现在我们来看下多线程 ...