Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 停止在触摸屏上滚动启动ngTouch ANGLARJS_Javascript_Ios_Angularjs_Cordova - Fatal编程技术网

Javascript 停止在触摸屏上滚动启动ngTouch ANGLARJS

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

我有一个带有-webkit溢出滚动的div:触摸其中的项目列表

我正在使用Angular ngTouch,它在phonegap应用程序上处理所有ng点击事件

然而,当我滚动我的列表,并且ios原生momentum滚动启动时,我也希望能够通过点击来停止momentum滚动,就像你在原生ios应用程序上所做的那样

发生的情况是触发了另一个tap事件。所以我的问题是:

我怎样才能在不触发另一个实际点击事件的情况下停止动量(本机)滚动


希望我的问题是清楚的…

最近我在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
     }
}