【问题标题】:$swipe on child elements conflict with scroll and scroll stops working in AngularJS子元素上的 $swipe 与滚动冲突,并且滚动在 AngularJS 中停止工作
【发布时间】:2014-10-07 06:27:41
【问题描述】:
我有一个父元素,我应用了 ng-swipe-right 和 ng-swipe-left。滑动功能运行良好。元素的子元素之一有一些溢出的内容,因此滚动会自动应用于它。但是现在,在我应用了滑动功能后,此滚动已停止工作。当我删除滑动时,滚动工作。
您能否建议我如何让父元素具有滑动功能,但其子元素具有溢出的内容以保留其滚动功能。
注意:我没有使用任何插件来应用滚动功能,它会自动滚动。
【问题讨论】:
标签:
javascript
android
angularjs
swipe
angularjs-ng-touch
【解决方案1】:
您的案例需要滚动和滑动事件都可用,我不知道该怎么做。另请参阅此问题:Cancel ng-swipe-right on child
如果不需要这两个事件的其他人看到这一点:在我的用例中,用户可以滑动或滚动,具体取决于他们是否点击了图库图像。所以我可以做到以下几点:
<!-- Fit image to page -->
<div class="gallery-content fit-to-page" ng-if="vm.fitToPage"
ng-swipe-right="vm.showPreviousSlide()" ng-swipe-left="vm.showNextSlide()">
<img ng-src="{{vm.currentSlide.url}}" ng-click="vm.fitToPage = false" />
</div>
<!-- Natural image size -->
<div class="gallery-content natural-size" ng-if="!vm.fitToPage">
<img ng-src="{{vm.currentSlide.url}}" ng-click="vm.fitToPage = true" />
</div>
所以在我需要滑动的元素上使用ng-swipe 指令,而不是在我需要滚动的元素上。