Javascript 停止在触摸屏上滚动启动ngTouch ANGLARJS
我有一个带有-webkit溢出滚动的div:触摸其中的项目列表 我正在使用Angular ngTouch,它在phonegap应用程序上处理所有ng点击事件 然而,当我滚动我的列表,并且ios原生momentum滚动启动时,我也希望能够通过点击来停止momentum滚动,就像你在原生ios应用程序上所做的那样 发生的情况是触发了另一个tap事件。所以我的问题是: 我怎样才能在不触发另一个实际点击事件的情况下停止动量(本机)滚动Javascript 停止在触摸屏上滚动启动ngTouch ANGLARJS,javascript,ios,angularjs,cordova,Javascript,Ios,Angularjs,Cordova,我有一个带有-webkit溢出滚动的div:触摸其中的项目列表 我正在使用Angular ngTouch,它在phonegap应用程序上处理所有ng点击事件 然而,当我滚动我的列表,并且ios原生momentum滚动启动时,我也希望能够通过点击来停止momentum滚动,就像你在原生ios应用程序上所做的那样 发生的情况是触发了另一个tap事件。所以我的问题是: 我怎样才能在不触发另一个实际点击事件的情况下停止动量(本机)滚动 希望我的问题是清楚的…最近我在angular ionic typeS
希望我的问题是清楚的…最近我在angular ionic typeScript项目中遇到了同样的问题。 我是如何解决的: 我创建了一个自定义指令:
angular.module('directive.scrolldetector', [])
.directive('scrollDetector', function ($window) {
return {
restrict: 'A',
link: function (scope, element, attrs) {
scope.$on('$destroy', () => {
element.off("scroll");
});
element.on('scroll', function () {
scope.$evalAsync(function () {
scope.$eval(attrs.scrollDetector);
});
});
}
}
});
现在,您可以像这样检测OnScrolleEvent:
<ion-content scroll-detector="onScroll()">
...
</ion-content>
最后一步是检查ion上下文中的每个ng点击是否有我们的lastScrollTimestamp:
onClick = () => {
if( lastScrollTimestamp + 300 > (new Date()).getTime()) { //at least 300ms there was no scrolling
//do your stuff
}
}
完全清楚。我有同样的问题,水龙头是去错误的链接。我想在第一次点击时停止滚动,在第二次点击时执行链接操作。解决这个问题成功了吗?这篇文章有什么新的帮助吗@谢尔盖·范德诺瓦
onClick = () => {
if( lastScrollTimestamp + 300 > (new Date()).getTime()) { //at least 300ms there was no scrolling
//do your stuff
}
}