click的300ms延迟响应
延迟是由双击缩放导致的,当用户点击一次屏幕之后,浏览器并不能立刻判断用户是确实要打开这个链接,还是想要双击操作。因此,移动端浏览器就等待了300ms,以判断用户是否再次点击了屏幕。
问题:300ms的延迟无法接受!怎么解决?
「 禁止缩放 」和「 width=device-width」方案并不完美。
简单通用方案:fastClick。 FastClick是专为解决移动端浏览器300ms点击延迟问题的一个轻量级库。
FastClick在检测到touchend事件的时候,会通过DOM自定义事件立即触发一个模拟click事件,并把浏览器在300ms之后真正触发的click事件阻止掉。
//FastClick 的使用方法非常简单,在window load 事件之后,
//在<body>上调用FassClick.attach()即可;
window.addEventListener("load",function(){
FassClick.attach(document.body);
},false)
//纯js版本
if ('addEventListener' in document) {
document.addEventListener('DOMContentLoaded', function() {
FastClick.attach(document.body);
}, false);
}
//jquery版本
$(function() {
FastClick.attach(document.body);
});
//模版方式
var attachFastClick = require('fastclick');
attachFastClick(document.body);
快速回弹滚动
如果想要为某个元素拥有Native般的滚动效果,可以这样操作:
.element{
overflow:auto;/* auto | scroll */
-webkit-overflow-scrolling:touch;
}
清除输入框内阴影
在IOS上,输入框默认有内部阴影,可如下操作进行清除。
input,
textarea{
border:0;/*方法1*/
-webkit-appearance:none; /*方法2*/
}
电话号码识别
ios safari(安卓或者其它浏览器不会)会自动识别看起来像电话号码的数字,将其处理为电话号码链接。
//关闭电话号码识别
<meta name="format-detection" content="telephone=no" />
//开启电话功能
<a href="tel:123456">186***891234</a>
//开启短信功能
<a href="sms:123456">123456</a>
邮箱地址的识别
浏览器会自定识别看起来像邮箱地址的字符串,不论你有没有加上邮箱链接,当你在这个字符串上长按,会弹出发邮件的提示。
//关闭邮箱地址识别
<meta name="format-detection" content="email=no" />
//开启邮件发送
<a href="mailto:sample@fly63.com">send mail</a>
指定ios的safari顶端状态条的样式
<meta content="black" name="apple-mobile-web-app-status-bar-style">
//可选default、black、black-translucent
获取滚动条的值
pc端滚动条通过document.scrollTop和document.scrollLeft获得。但在ios中并没有滚动条的概念,所以仅能通过windows.scroll获取。
window.scrollY
window.scrollX
内容出处:,
声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。文章链接:http://www.yixao.com/surface/28902.html