移动开发小记-01

10 篇文章 0 订阅
2 篇文章 0 订阅
1、 iphone第三方输入法不能监听到keyup, keypress, keydown事件:

昨天在工作中遇到的一个小坑,我们在用jQuery绑定一个input框的keyup事件的时候,遇到iphone手机不能监听到的状况,后来仔细排查,发现不能监听到的都是iphone安装了第三方输入法。于是,我们个中百度,stackoverflow之,辗转查询,发现iphone的第三方输入法的问题,在此我们也测试了keydown,keypress事件,最后我们用了html5的oninput事件来监听。这让我们之前想到开发的另外一个项目,当时并没有这样的bug,多么无奈的bug。后来我们发现,我们在这个唯一的区别就是type不一样,注意(html5 input type=”tel”时候会自动调用原生的ios输入法,所以不存在keyup监听不到的情况)。

2、oninput、onpropertychange、onchange事件的区别:
  • oninput事件:html5新增的一个事件,现代浏览器包括IE9+都支持此事件。该事件只有通过addEventListener()来注册监听,有一个坑就是当input框的value通过脚本来改变的话是不会执行callback的。当value收到改变的时候就会触发callback;
  • onchange事件:onchange事件在内容改变(两次内容有可能还是相等的)且失去焦点时触发;
  • onpropertychange事件: onpropertychange事件却是实时触发,即每增加或删除一个字符就会触发,通过js改变也会触发该事件,但是该事件IE专有
3、iphone input[disabled]样式问题

在ios系统中有个奇怪的样式问题就是,当你的input框为disabled的时候,无论你把color调什么值,都感觉没什么变化,此时要这样的一段神奇代码:

input[disabled],input:disabled{
    color: #000; /**要的色值**/
    -webkit-text-fill-color: rgba(0, 0, 0, 1);
    -webkit-opacity: 1;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值