我正在写一个移动网页。我想了解如何精确控制触摸事件。我可以做一些事情,比如查看触摸事件何时在元素上方开始和结束,但管理其间发生的事情似乎很困难。
我想要一个简单的按钮:
- 从A类开始,
- 在 touchstart 上,获得不同的 B 类(“悬停状态”),
- 当触摸事件在被点击的元素上结束时,它会得到一个不同的类 C,
- 当触摸事件没有在最初点击的元素上结束时,恢复到原来的类 A,
- 当触摸事件停止在元素上方(但尚未结束)时,元素将恢复为 A 类,并且
- 如果触摸事件停止在元素上方,但又回到了元素上方(所有相同的触摸事件 - 即还没有 touchend 或 touchcancel),然后再次回到B类(悬停状态)
此外,我想确保:
- 在一个按钮上开始的单击事件不会干扰其他按钮上的类
- 如果按钮内有 div (让我们说一个文本跨度),它们不会干扰任何状态
- 理想情况下,我可以批量执行此操作(即 $('.everyButton').on('whatever', ....))
我正在使用 jQuery,但任何事情都会有所帮助。这似乎应该很容易,但我一直很难让它做我想做的事。有人对此有好的设计吗?