javascript - 百度touch.js对于ios7兼容的一个处理,不解
黄舟
黄舟 2017-04-10 17:44:50
[JavaScript讨论组]

touch.js是百度开发的一个移动端手势库,虽然貌似已经不更新了,不过对于学习移动手势的开发还是有帮助的,研究源码时,其中一个地方然我不解,是对于ios7进行兼容处理的,不知道是什么原理,代码如下所示

forceReflow : function(){
    var domTreeOpp = document.getElementById("domTreeOp");
    if(!domTreeOpp){
        domTreeOpp = document.createElement("p");
        domTreeOpp.id = "domTreeOp";
                document.body.appendChild(domTreeOpp);
    }
    var parentNode = domTreeOpp.parentNode;
    var nextSibling = domTreeOpp.nextSibling;
    parentNode.removeChild(domTreeOpp);
    parentNode.insertBefore(domTreeOpp, nextSibling);
}

当判断当前操作系统为Ios7后就会执行上述函数。不知道为什么要做这样的处理,上边的代码好像就是往网页里边添加了一个空的p。另外,ios7中发生了什么改变,需要这样的兼容?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(1)
巴扎黑

谢邀。
forceReflow这函数的名字已经暴露了一切。

你问ios7发生了什么改变需要这样的兼容,说实话,我也不是很清楚,毕竟当我做移动端的时候,已经都不兼容ios7了。
略微翻了下代码,是在事件代理的时候才用了这个方法的,只能猜想是ios7上在某个奇特的地方做了个性能优化策略,touch需要强制回流后才能准确的在相应的位置上分发回去事件。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号