AngularJS中移动页面滚动穿透解决方案
(function (angular) {
angular.module('mobileApp').factory('IscrollAndroidBug', IscrollAndroidBug);
function IscrollAndroidBug() {
return {
click: function () {
if (/iPhone|iPad|iPod|Macintosh/i.test(navigator.userAgent)) {return false;}
if (/Chrome/i.test(navigator.userAgent)) {return (/Android/i.test(navigator.userAgent));}
if (/Silk/i.test(navigator.userAgent)) {return false;}
if (/Android/i.test(navigator.userAgent)) {
var s = navigator.userAgent.substr(navigator.userAgent.indexOf('Android') + 8, 3);
return parseFloat(s[0] + s[3]) >= 44;
}
}
};
}
}(angular));
$scope.$on('ngRepeatListFinished', function () {
var _scroll = new IScroll('#scroller', {
probeType: 3,
preventDefault: false,
click: IscrollAndroidBug.click()
});
var _ele = document.getElementById('apply-requirment');
_ele.addEventListener('touchmove', function(e){
e.preventDefault();
}, false);
_ele = document.getElementById('scroller');
_ele.addEventListener('touchmove', function (e) {
e.preventDefault();
}, false);
});
<div id="apply-requirment" class="requirment-container" ng-if="maskLayerIndex != null" ng-cloak>
<div ng-click="closeMasking()"></div>
<div>
<div class="terms-list" ng-if="maskLayerIndex != null">
<div>
<span class="icon-cancel" ng-click="closeMasking()"></span>
<span ng-bind="maskLayers[maskLayerIndex].title"></span>
</div>
<div id="scroller">
<div>
<ul>
<li ng-class="($index==maskLayers[maskLayerIndex].sel)?'condition-checked':'condition-unchecked'"
ng-repeat="item in maskLayers[maskLayerIndex].text track by $index"
on-finish-render-filters="ngRepeatListFinished"
ng-click="onListItemClicked($event, $index)">
<span ng-bind="item"></span>
<span ng-show="$index==maskLayers[maskLayerIndex].sel" class="icon-check"></span>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
AngularJS中移动页面滚动穿透解决方案的更多相关文章
- 移动端H5滚动穿透解决方案
最近遇到一个很 巨恶心的问题 ios10下面 页面弹窗有滚动穿透问题 各种google 终于找到了答案,但是体验还不是很好,基本能忍受 废话不多说,上方法 最后终于想到一个处理方案,就是第一种方案的 ...
- vue中判断页面滚动开始和结束
参考链接:https://www.jianshu.com/p/adad39705ced 和 https://blog.csdn.net/weixin_44309374/article/deta ...
- angularjs中的页面访问权限设置
11月在赶一个项目,这阵子比较忙,挤挤时间更一篇博客吧,如标题所述说说在ng中页面访问权限控制的问题,水平有限各位看官见谅: 在以往的项目中,前后端常见的配合方式是前端提供页面和ui加一点DuangD ...
- 在AngularJS中同一个页面配置一个或者多个ng-app
在AngularJS学习中,对于ng-app初始化一个AngularJS程序属性的使用需要注意,在一个页面中AngularJS自动加载第一个ng-app,其他ng-app会忽略, 如果需要加载其他ng ...
- IOS设备上网页中的页面滚动效果模拟
可能咋一看不知道我说的是个啥,因为iOS本来就用这功能的啊,还模拟它干啥?先听我说下项目背景哈 我现在开发的是一个webapp,主要是用在ipad上,这个app的大小是固定大小的,为了防止触摸它出现弹 ...
- 关于angularjs中路由页面强制更新的问题
有这么一个问题,在页面内路由页面跳转时,第一次跳入路由页面时是正常的,但是第二次会记住第一次时的状态,有时候并不想这样,想强制更新这个路由页面. 有一种方式就是使用 ui-sref-opts功能,我试 ...
- AngularJS:实现页面滚动到底自动加载数据的功能
要实现这个功能,可以通过https://github.com/sroze/ngInfiniteScroll这个第三方控件来实现.步骤如下: 1. 下载ng-infinite-scroll.js程序ht ...
- React Native 中 跨页面间通信解决方案之 react-native-event-bus
https://github.com/crazycodeboy/react-native-event-bus 用法: A页面和B页面中都有相同的列表,点击B页面中的收藏按钮,A页面会跟着更新 impo ...
- 微信小程序textarea组件在fixed定位中随页面滚动
如果 textarea 是在一个 position:fixed 的区域,需要显示指定属性 fixed 为 true https://developers.weixin.qq.com/miniprogr ...
随机推荐
- 用delphi检查网络连接状态3种方式
用delphi检查网络连接状态3种方式 用delphi检查网络连接状态 检测计算机是否联网比较简单的做法可以通过一个 Win32 Internet(WinInet) 函数 InternetCheckC ...
- TF400511: Your team has not defined any iterations to use as sprints
tfs里面的冲刺对于开发团队来说, 是非常重要的一个功能,是团队开发进度的晴雨表: 但是如果从此死活出不来,怎么办呢? TF400511:您的团队尚未定义任何要用作冲刺 (sprint) 的迭代 TF ...
- 魔兽私服TrinityCore 运行调试流程
配置参见上一篇:TrinityCore 魔兽世界私服11159 完整配置 (1)启动Web服务器 打开TC2_Web_Mysql目录,运行“启动Web服务器.exe” 自动弹出帐号注册界面,并启动Ap ...
- 使用HttpClient对ASP.NET Web API服务实现增删改查
本篇体验使用HttpClient对ASP.NET Web API服务实现增删改查. 创建ASP.NET Web API项目 新建项目,选择"ASP.NET MVC 4 Web应用程序&quo ...
- /bin/sh^M: bad interpreter:没有那个文件或目录解决
/bin/sh^M: bad interpreter:没有那个文件或目录解决 执行脚本时发现如下错误: /bin/sh^M: bad interpreter: 没有那个文件或目录 错误分析: ...
- ArcGIS Pro 切割打印
ArcGIS Pro 切割打印
- Android应用icon和闪屏splash的尺寸
icon (尺寸为px) 目录 尺寸 (width * height) drawable 72 x 72 drawable-hdpi 72 x 72 drawable-ldpi 36 x 36 dra ...
- C# ApartmentState 枚举,指定线程单元状态
1.ApartmentState 指定的单元状态 Thread. 命名空间: System.Threading程序集: mscorlib(位于 mscorlib.dll) 成员 成员 ...
- Java反编译工具Jad详解
做项目过程中需要反编译一个jar包,于是作了一些学习,记录下来. Jad(JAva Decompiler)是一个Java的反编译器,可以通过命令行把Java的class文件反编译成源代码. 如果你在使 ...
- [转]如何将PHP作为Shell脚本语言使用
From : http://www.linuxfly.org/post/559/ 我们都知道,PHP是一种非常好的动态网页开发语言(速度飞快,开发周期短……).但是只有很少数的人意识到PHP也可以很好 ...