ng拖动可避免拖动结束后单击ng



我在ng拖动元素上点击了ng,当我开始移动元素时,一切都很好,但当我停止它时,该元素激活了我的ng点击,我如何避免那次ng点击?

<div ng-click="unselectImage(image);" ng-drag="true" ng-drag-data="'multipleItems'" ng-center-anchor="true" data-allow-transform="false" ng-drag-success="selectImage(image);"></div>

我正在使用ngDraggable。我尝试使用ng-drag-success,但没有成功。

我做了一个指令(alClick(,它只是点击,但如果按下持续时间默认超过750ms,则取消任何点击。因此,拖动或滑动时不会触发点击或点击事件。

<div al-click="unselectImage(image);" ng-drag="true" ng-drag-data="'multipleItems'" ng-center-anchor="true" data-allow-transform="false" ng-drag-success="selectImage(image);"></div>

我在David Zemens的帮助下做了什么。我想我可以用

$rootScope.$on('draggable:start', function (data) {
    isDragging=true;
});

在我的ng点击功能中,我添加了这样的东西:

$scope.unselectImage = function (image) {
    if(isDragging) isDragging=false;
    else{
        // do the magic
    }
}

一般来说,它会起作用。当拖动开始时,它会广播它正在开始,当拖动结束时,它只会简单地说拖动结束。

最新更新