我正在使用ng-click离子应用程序中的div元素,例如:

<div class="thediv" ng-click="showActionsheet()"><p>26</p></div>


这很好用,但是我有一些CSS设置:

.thediv.activated {
    background-color: #d18027;
    border: 2px solid #ffc666;
}


如果我按div足够长的时间,则CSS会激活,但是当我点击它时,什么也不会发生。我还想使其保持激活状态,直到操作表关闭。也不知道该怎么办...

最佳答案

恐怕您无法解决延迟问题。这是构建混合移动应用程序的坏事之一。离子框架非常好,但我认为它永远不会像本地应用程序那样快(主要是如果它不是一个非常新的,快速的设备)。

关于使其保持激活状态,您可以创建一个像$scope.isActivated这样的变量,并在方法showActionsheet()的开头给它一个true。关闭操作表时,将其设置为false

在您的div中,您可以执行以下操作

<div class="thediv" ng-click="showActionsheet()" ng-class="active: isActivated"><p>26</p></div>


在您的CSS中也

.thediv.activated,
.thediv.active, {
    background-color: #d18027;
    border: 2px solid #ffc666;
}

10-04 15:48