我有一个简单的网页游戏,使用Angular在HTML5和CSS中工作。它使用Angular的ng-mousedown,ng-mousemove和ng-mouseup指令让用户在游戏中突出显示字母和图块,并从一侧到另一侧“滑动”。
在浏览器的桌面上运行良好。但是,在iPad或iPhone上的移动Safari中,鼠标动作似乎都没有正确触发 - 而不是影响游戏元素,触摸操作只是尝试平移和缩放浏览器窗口本身。
到目前为止,我已经将jQuery从我的解决方案中删除了。我之前使用过jQuery-touch-punch来让jQUery-UI在移动Safari上拖放工作。但什么是无jQuery解决方案?我只是希望应用程序的行为方式与它在桌面浏览器上的行为相同。
提前致谢!
答案 0 :(得分:1)
ngTouch听起来像你想要的模块。 ngClick
是jQuery点击的抽象,支持鼠标和触摸事件。如果您想在用户按下时突出显示某些内容,则此代码段可能会对文档提供帮助:
此指令还会在按住元素(通过鼠标单击或触摸)时设置CSS类ng-click-active,以便您可以根据需要重新设置按下的元素。
此外,ngSwipeLeft
和ngSwipeRight
允许设置滑动事件回调。
然而,听起来您的游戏可能需要比简单绑定到这3个指令更复杂的行为。如果您使用创建自己的指令并使用$swipe
服务,则可以更好地控制行为。