javascript - 除了某些元素,Angular JS 禁用触摸滚动

标签 javascript jquery html css angularjs

我正在构建一个部署在 iPad 上的 Web 应用程序,我们正在寻找一种方法来禁用整个 View 的滚动,某些 div 除外。理想情况下,能够将 scroll 类或其他东西应用到 div 并且只允许 scroll 类滚动会很棒。

这里的 Angular 方法应该是什么?我在网上看到了各种 JQuery 和纯 Javascript 方法,但它们看起来都很困惑,而且不一定万无一失。

最佳答案

一个选项是确定设备窗口的高度(允许您使用任何设备/pc)并以 ng-style 设置您的 div 的最大高度。

$scope.windowHeight = $window.innerHeight; //might need to subtract 30 pixels for side scrollbar if needed.
$scope.innerDivHeight = Math.ceil($scope.windowHeight / 3) //Whatever scale you want your inner divs to be.

然后

<div class="container" ng-style="{'max-height': windowHeight+'px', 'overflow':'none'}">
    <div class="innerDiv" ng-style="{'max-height': innerDivHeight+'px', 'overflow':'auto'}">
    </div>
</div>

您可能不得不对它进行一些改动,但这样一来它就可以在台式机和 iPad 上正常工作,而无需引入特定于平台的要求。注意 overflow none 表示不滚动,而 auto 表示是,如果超出高度则在该 div 内滚动。

就像我说的,这可能不是您要找的东西,但您不需要任何额外的复杂性来做到这一点。

关于javascript - 除了某些元素,Angular JS 禁用触摸滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25150807/

相关文章:

javascript - 如何使用 jquery 将多个选定值分配给文本字段

javascript - 如何使用 javascript 恢复模糊背景(使用 jquery 隐藏)

jquery - 如何使用 jquery/javascript 处理 Json

jquery - 仅使用 css 类来添加 jquery 功能是否正确?

jquery - 我在 css 和 jcarousel lite 上遇到了麻烦

javascript - 如何等待redux准备好必要的数据

asp.net-mvc-3 - MVC 3 - Html.EditorFor 似乎在 $.ajax 调用后缓存旧值

javascript - 如何高效使用Jquery Chosen Plugin?

javascript - 导航栏中的下拉菜单不起作用 - 下拉菜单中的项目都链接到同一事物(UIKit 框架)

javascript - ember-dev-fixtures 错误 : "Assertion Failed: The response from a findAll must be an Array, not undefined"