AngularJS -在移动设备指令中使用ngTouch

AngularJS - Using ngTouch within a directive for mobile devices

本文关键字:ngTouch 指令 移动 AngularJS      更新时间:2023-09-26

我使用ngTouch来消除移动设备上的延迟,但在移动设备上单击图像没有任何作用。在我的应用程序上,点击图像调用一个指令来放大图像,所以没有ng-click。下面是指令:

app.directive('imageZoom', ['ngDialog', function(ngDialog) {
    return {
        restrict: 'A',
        scope: {
            image: '='
        },
        link: function(scope, element, attr) {
            attr.$observe('ngSrc',function(img) {
                element.bind('click', function(e) {
                    e.stopPropagation();
                    if (something) {
                        doSomething();
                    } else {
                        ngDialog.open({
                           some template here
                        });
                    }
                });
            });
        }
    };
}]);

这是工作很好,直到我引入ngTouch,所以我相信有一个问题,它的element.bind('click'方面,它没有注册点击。它在浏览器上工作得很好,所以指令可以工作。

监听element.bind('touchstart click', function(){ ... },而不是只点击element.bind('click', function(){ ... }