【问题标题】:Ionic / Angular on hover while touching / clicking?触摸/点击时悬停的离子/角度?
【发布时间】:2016-01-19 10:38:36
【问题描述】:

所以我试图在移动设备上模仿 css :hover 类。在我的应用程序中,您可以单击并拖动事物,当拖动到元素顶部时,我需要这些元素来获得一个更改其 z-index 和其他一些东西的类。是否有可能在 Angular / Ionic 或纯 CSS 中在触摸时“悬停”时改变样式?

我已经尝试添加

.myClass:hover{
    color:#000;
    background-color:red;
}

作为基本的东西,看看它是否有效,这在悬停时有效,但在单击和悬停时无效。有什么想法吗?

【问题讨论】:

  • 你试过:active吗?
  • 我也尝试过 :active 和 :focus ,除非我当前按住点击/已经触摸,否则它们似乎都可以工作。
  • 你可以把它们组合起来达到同样的效果吗?
  • 你发现了吗?
  • 是的,我做了,虽然我面前没有代码,基本上你所做的就是获取事件手势中心 x 和 y 点,减去当前元素的宽度和高度的一半获取中心,然后将其与元素的边界框进行比较: var rect = document.getElementById("myElement").getBoundingClientRect();它工作得非常好,开销也很低,尽管如果你有很多对象,那就是很多代码。

标签: javascript jquery html css angularjs


【解决方案1】:

最好在 touchStart 上添加一个类并在 touchEnd 上删除它,这样您就可以在 css 类中进行所需的更改

【讨论】:

  • 它不是“结束”,我在触摸时需要它。如果我目前正在触摸并且我正在悬停/悬停在其他东西上,这需要发生。当我放手时,我不希望任何事情发生。
  • 是的,就是这样。当您开始触摸时,您必须添加一个类,例如一个“活动”类,因此您将添加一个 z-index 和不同的样式,当您触摸结束时,您将删除该类。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-07
  • 1970-01-01
  • 1970-01-01
  • 2012-11-29
  • 1970-01-01
相关资源
最近更新 更多