fastclick可以解决在手机上点击事件的300ms延迟
触摸事件的响应顺序为 touchstart --> touchmove --> touchend -->
click,也可以通过绑定ontouchstart事件,加快对事件的响应,解决300ms延迟问题
若移动设备兼容性正常的话(IE/Firefox/Safari(IOS 9.3)及以上),只需加上一个meta标签
把viewport设置成设备的实际像素,那么就不会有这300ms的延迟。
<meta name="viewport" content="width=device-width">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" viewport-fit=cover"/>
{
-webkit-text-size-adjust: none;
}
-webkit-tap-highlight-color: rgba(0,0,0,0);
pointer-events: none;
<input type="text" autocapitalize="none">
-webkit-appearance: none;
ios:input、oninput,比keyup,keydown 效果好
android:input或keyup都可以
const u = navigator.userAgent;
const isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
if (isiOS) {
return "ios";
} else {
return "andriod";
}
<meta name="format-detection" content="telephone=no" />
-webkit-user-select: none;
-webkit-touch-callout: none;
CSS3中的calc变量在iOS6浏览器中必须加-webkit-前缀,目前的FF浏览器已经无需-moz-前缀。 Android浏览器目前仍然不支持calc,所以要在之前增加一个保守尺寸:
width: -webkit-calc(100% - 50px);
width: calc(100% - 50px);
cursor: pointer;
/*设置内嵌的元素在 3D 空间如何呈现:保留 3D*/
-webkit-transform-style: preserve-3d;
/*(设置进行转换的元素的背面在面对用户时是否可见:隐藏)*/
-webkit-backface-visibility: hidden;
尽可能地使用合成属性transform和opacity来设计CSS3动画,不使用position的left和top来定位
开启硬件加速
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
this.value = this.value.replace(/\u2006/g, '');
line-height:normal;
父元素设置为
overflow: hidden;
解决方法
-webkit-overflow-scrolling: touch;
中文输入时,无法触发keyup事件,且keyup.enter事件无论中英文,都无法触发
<preference name="KeyboardDisplayRequiresUserAction" value="true" />
2、