微信点击穿透Bug

问题描述:
在移动端为了去除点击延迟引入了fast-click,然而在房贷计算器的开发中遇到了这样一个bug,用户点击了select之后,微信在弹出选择器之后会瞬间因为约300ms的点击穿透而立刻收起来,导致用户无法使用选择器,最初尝试在用户点击了Select之后为select下面的表单层添加pointer-events:none的CSS样式避免屏蔽点击效果,结果发现这样做只能保障穿透下去的点击事件不会点进input框导致聚焦事件发生,但是依旧无法避免弹出来的选择器收起来,初步猜测应该是由于穿透下去的点击相当于点击了一次空白区域,导致选择器收了起来。

解决方案:
最终在师傅建议下屏蔽了fast-click之后发现点击穿透现象消失,问题得以解决,但是由于关闭了fast-click导致点击事件响应变慢,用户点击input之后可以感觉到明显聚焦延迟。

关闭fast-click导致的光标自动移到最右侧失效

问题描述:
在解决微信端点击穿透bug之前,采用下面这样的一段代码来将input的光标移到最右侧:

1
大专栏  点击穿透bug · Jaywiiline">2
3
4
$("input[type='number']").tap(function() {
var value = $(this).val();
$(this).val('').val(value);
});

结果在屏蔽了fast-click之后不知为何该方法失效,尝试了在监听tapfocus事件,并在事件发生之后使用定时器延迟赋值发现可以将光标置右,但是延迟非常明显,不管setTimeout中的间隔设为多少,都有将近1秒的延迟
解决方案:
将绑定是事件改为click之后,问题得到了解决,如下:

1
2
3
4
$("input[type='number']").click(function() {
var value = $(this).val();
$(this).val('').val(value);
});

点击穿透bug · Jaywii的更多相关文章

  1. 移动开发之fastclick 点击穿透

    穿透(点穿)是在mobile各种浏览器上发生的常见的bug.可能是由click事件的延迟(300ms)或者事件冒泡导致 现象:在A页面中有个 btn1<或a标签>,在B页面中有个 btn2 ...

  2. 【IE6的疯狂之十三】IE6下使用滤镜后链接不能点击的BUG

    大家可能都知道IE6下使用DXImageTransform.Microsoft.AlphaImageLoader滤镜(用于PNG32 Alpha透明)后链接不能点击的BUG,大家也都知道只要在a标签上 ...

  3. 聊聊click延迟和点击穿透

    博客原文地址:Claiyre的个人博客 https://claiyre.github.io/ 如需转载,请在文章开头注明原文地址 移动端click事件被延迟 移动端的开发经常需要监听用户的双击行为,所 ...

  4. 移动端的300ms延迟和点击穿透

    移动端300ms延迟:假定这么一个场景.用户在 浏览器里边点击了一个链接.由于用户可以进行双击缩放或者双击滚动的操作,当用户一次点击屏幕之后,浏览器并不能立刻判断用户是确实要打开这个链接,还是想要进行 ...

  5. WPF的点击穿透

    1.background 为{x:null} 或  鼠标点击会穿透,如果不想让一个透明的border点击穿透,设置透明色Transparent时就可以点到这个看起来透明的border 2.当依赖属性I ...

  6. Qt 不规则窗体 – 鼠标点击穿透(Linux也可以,有对x11的配置的方法)

    之前写过如何用 Qt 现成的方法写出无边框半透明的不规则窗体:<Qt 不规则窗体 – 无边框半透明> 其实有一个很特殊的窗体属性一直以来都伴随着不规则窗体出现,这就是本文要介绍的鼠标点击穿 ...

  7. modal 弹框遮罩层,滚动穿透bug 解决方案

    modal 弹框遮罩层,滚动穿透bug 解决方案 parent component 动态设置 lock css const computedClassName = classNames( 'activ ...

  8. modal 遮罩层,滚动穿透 bug

    modal 遮罩层,滚动 穿透bug float 弹层 taro 小程序弹框 滚动击穿 问题 https://segmentfault.com/q/1010000011134345 solution ...

  9. iphone对fixed模态框支持不太好,弹出窗口中滚动点击穿透的bug

    iphone对fixed展现层中存在滚动内容支持非常不好, 尤其是背景页面产生滚动以后,输入控件就找不到了, 取消冒泡也不行,最后是这么解决的,可以参考 <style> .modeldiv ...

随机推荐

  1. cocoaPods安装使用亲体验

    一. cocoaPods的安装. 终端中输入: $ sudo gem install cocoapods 注意:直接在terminal中输入这个是安装不成功的,因此,我们可以通过淘宝的Ruby镜像来访 ...

  2. RDD(六)——分区器

    RDD的分区器 Spark目前支持Hash分区和Range分区,用户也可以自定义分区,Hash分区为当前的默认分区,Spark中分区器直接决定了RDD中分区的个数.RDD中每条数据经过Shuffle过 ...

  3. Error: Invalid or corrupt jarfile SpringBootTemplate.jar

    当在尝试将SpringBoot打包成为Jar文件, 丢到linux服务器去运行的时候, 尝试在windows自带的CMD窗口命令行中运行jar文件的时候, 遇到了这样的问题. 错误的意思是: 无效 或 ...

  4. Flume(二) —— 自定义拦截器、Source、Sink

    自定义拦截器 自定义Source 自定义Sink 引入依赖 <dependency> <groupId>org.apache.flume</groupId> < ...

  5. 图像的手绘效果(Python)

    PIL库,Python Image Library PIL库是一个具有强大图像处理能力的第三方库 在命令行下的安装方法:pip install pillow from PIL import Image ...

  6. vmware ubuntu 解决 宿主机与虚拟机互相ping不通,虚拟机无线上网的解决办法

    首先 virtual network editor 设为桥接 选定无线网卡 虚拟机的网络设置 选桥接. 其次, 如果不能互相ping通,注意主机是否关闭了防火墙,是否退掉了360(没验证), 还要注意 ...

  7. java中多线程入门有趣介绍

    我们在网上可以看到所有有关于java的线程的基本概念的很多解释,不乏有很多详细经典的解释和代码解说.但是我们的很多初学者看完不能有一个直观的印象,特别是一些没有编程基础的学习者,很多时候要花很多时间去 ...

  8. Codeforces Round #599 (Div. 2)D 边很多的只有0和1的MST

    题:https://codeforces.com/contest/1243/problem/D 分析:找全部可以用边权为0的点连起来的全部块 然后这些块之间相连肯定得通过边权为1的边进行连接 所以答案 ...

  9. VMware安装 RHEL安装完后,选择桥接模式如何与主机网络连通

    .查看主机的ip与网关,dns配置,如图 2.在linux系统中打开cd  /etc/sysconfig/network-scripts/  #进入网络配置文件目录 vi  ifcfg-eno1677 ...

  10. 主效应|处理误差 |组间误差|处理效应|随机误差|组内误差|误差|效应分析|方差齐性检验|SSE|SSA|SST|MSE|MSA|F检验|关系系数|完全随机化设计|区组设计|析因分析

    8 什么是只考虑主效应的方差分析? 就是不考虑交互效应的方差分析,即认为因素之间是不相互影响的,就是无重复的方差分析.   什么是处理误差 (treatment error).组间误差(between ...