这个问题,也算是个大坑了。

最开始的开始,是因为我们在做大装盘活动的时候,发现在ios上面出现了这样的问题:点击“转”按钮,ios上面会有延迟并且会出现图片的阴影,这个肯定就不好看了撒,然后,找吧,改吧。

对于延迟问题,使用以下方法解决:

FastClick消除点击延时提高程序的运行效率
引入插件的javascript文件到你的HTML网页中,像这样:
<script type='application/javascript' src='fastclick.js'></script> 注意:type属性在HTML5网页中可以省略不写。
脚本必须加载到实例化fastclick在页面的任何元素之前。
实例化 fastclick 最好在body元素的前面 $(function(){
//fastclick用于消除在移动浏览器上触发click事件与一个物理Tap(敲击)之间的300s延迟
FastClick.attach(document.body);
});

附加: 解决移动端点透问题方法:

  1. 众所周知,zepto的tap事件是有点透问题的,但是最新版的zepto已经修复了这个问题。

  2. 在zepto修复问题之前,有fastclick、hammer等通用库可以使用。

  其中最常使用的还是fastclick,地址 :https://github.com/ftlabs/fastclick

对于点透问题,参考这位同学写的博客,写的很好:web移动前端的click点透问题

图片阴影的问题,找了好久,终于找到了解决办法:

* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
// 后面的几行是新加的
-webkit-tap-highlight-color: transparent;
-webkit-touch-callout: none;
-webkit-user-select: none;
outline: none;
}

好啦,大功告成。结果第二天来上班,又出现了问题,说的是所有的input框在ios上面都无法输入了,这个时候,我慌了。仔细回想,头天代码都没动,只是改了这个,好吧,又开始网上各种查各种找。

终于找到原因啦。。。。

就是-webkit-user-select: none;导致的!!!

经过查阅,网上有提供一种好的解决办法:

* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
-webkit-tap-highlight-color: transparent;
outline: none;
} *:not(input,textarea) {
-webkit-touch-callout: none;
-webkit-user-select: none;
}

最终完美解决了这个问题。后来查阅了一下,新加的几行代码的意思:

-webkit-tap-highlight-color
这是一个 不规范的属性(unsupported WebKit property),它没有出现在 CSS 规范草案中。
当用户点击iOS的Safari浏览器中的链接或JavaScript的可点击的元素时,覆盖显示的高亮颜色。
该属性可以只设置透明度。如果未设置透明度,iOS Safari使用默认的透明度。当透明度设为0,则会禁用此属性;当透明度设为1,元素在点击时不可见。
 
-webkit-touch-callout
当你触摸并按住触摸目标时候,禁止或显示系统默认菜单。在iOS上,当你触摸并按住触摸的目标,比如一个链接,Safari浏览器将显示链接有关的系统默认菜单。这个属性可以让你禁用系统默认菜单。
 
user-select
(1) 语法
user-select:none | text | all | element
默认值:text
适用范围:除替换元素外的所有元素
(2) 取值说明
none:文本不能被选择
text:可以选择文本
all:当所有内容作为一个整体时可以被选择。如果双击或者在 上下文上点击子元素,那么被选择的部分将是以该子元素 向上回溯的最高祖先元素。
Element:可以选择文本,但选择范围受元素边界的约束
 

移动端-webkit-user-select:none导致input/textarea输入框无法输入的更多相关文章

  1. 转 移动端-webkit-user-select:none导致input/textarea输入框无法输入

    移动端webview中写页面的时候发现个别Android机型会导致input.textareat输入框无法输入(键盘可以弹起,不是webView.requestFocus(View.FOCUS_DOW ...

  2. input, textarea,监听输入事件

    IE使用'propertychange'事件监听,其它浏览器使用'input'事件测试了IE7-10, Chrome, FF, 输入没有问题.♥但在IE9下,  删除,  回退,  Ctrl+X 没有 ...

  3. <input>/<textarea>输入框设置默认提示文字(隐藏式)

    html代码如下: <tr>    <td>签   名:</td>    <td><input type="text" nam ...

  4. input:-webkit-autofill 导致chrome的输入框背景颜色变成黄色

    填写form表单时发现chrome的一个好坑啊! 当你之前有填写过表单,获取焦点时,input会有一个记录之前填写过的文本的下拉列表式的东东,就像这样:(抱歉丑了点,隐私问题打上了马赛克) 按理说,这 ...

  5. jquery 操作服务端控件,select 控件

    <asp:DropDownList ID="ddl" runat="server"></asp:DropDownList> <se ...

  6. 关于点击input框唤醒键盘导致input被遮盖的问题

    关于点击input框唤醒键盘导致input被遮盖的问题 这个问题相信大家在实际开发过程当中都有遇见,我自己也遇见过很多次.之前在百度上看见大多数的方法利用的都是键盘唤醒了之后,页面的实际高度会发生变化 ...

  7. 移动端小总结(1)---meta、input和单行多行文字溢出省略号

    一.常用META 1. 添加到主屏后的标题(IOS) 1 <meta name="apple-mobile-web-app-title" content="标题&q ...

  8. HTML:form表单总结,input,select,option,textarea,label

    <form>标签是块级元素. form标签的标准属性有id,class,style,title,lang,xml:lang. 表单能够包含input元素(包含button,checkbox ...

  9. 网页端实现input数字输入框

    实现input输入框只能输入数字的效果: <input type="text" name="" id="phoneNum" value ...

随机推荐

  1. 小白日记53:kali渗透测试之Web渗透-SSL、TLS中间人攻击(SSLsplit,Mitmproxy,SSLstrip),拒绝服务攻击

    SSL.TLS中间人攻击 SSL中间人攻击 攻击者位于客户端和服务器通信链路中 利用方法: ARP地址欺骗 修改DHCP服务器 (存在就近原则) 手动修改网关 修改DNS设置 修改HOSTS文件[高于 ...

  2. Gson转换复杂对象报错【类型强转错误】

    一.问题: 项目里遇到一个需求,规则文件下载后,导入本地解析. 采用的方案是:获取复杂对象,使用谷歌Gson转换为字串保存为文件下载,客户端读取文件,解析字串,反解对象 遇到的问题:传输的对象是一个嵌 ...

  3. Catalan&Stirling数

    Catalan&Stirling数 Tags:数学 作业部落 评论地址 Catalan数 \(1,1,2,5,14,42,132,429,1430,4862,16796,58786...\) ...

  4. 如何用 Python 爬取需要登录的网站

    [原文地址:]http://python.jobbole.com/83588/ import requests from lxml import html # 创建 session 对象.这个对象会保 ...

  5. codevs 2639 约会计划

    codevs 2639 约会计划 题目描述 Description cc是个超级帅哥,口才又好,rp极高(这句话似乎降rp),又非常的幽默,所以很多mm都跟他关系不错.然而,最关键的是,cc能够很好的 ...

  6. 04 - django的路由层 1

    1.路由控制简单配置 from django.conf.urls import url from . import views urlpatterns = [ url(r'^articles/2003 ...

  7. 洛咕 P2403 [SDOI2010]所驼门王的宝藏

    简单tarjan. 一行的横天门如果暴力连边会被卡成平方,所以只要相邻两个横天门连双向边,再随便选一个横天门向整行连边即可.纵寰门同理.ziyou门直接map暴力连边. 然后tarjan直接dp. / ...

  8. jquery.validata1.11怎么支持metadata

    使用metadata方式这个需要使用jquery.metadata.js插件才可工作,通过在表单项中定义特殊的属性来指定验证规则 但是最新的jquery.validate 1.11没有内置metada ...

  9. post提交方式

    post提交方式 为提交 url 路径后的name值 getParameter 是获取url后面的参数的.getattribute 是获取 自己setattribute的.

  10. 工作之路---记录LZ如何在两年半的时间内升为PM

    引言 之前的伪PM纠结之路已经渐渐结束,LZ也终于正式爬上了PM的位置,对于LZ来说,这个时间比LZ预计的早来了两年半.说起来,两年半的速度已经算是比较快了,但这之中的努力唯有LZ一人知晓.写这篇文章 ...