是否可以通过触摸事件实现“进入”事件检测?

时间:2017-03-23 02:53:04

标签: javascript mouseevent ontouchevent

我要求执行以下操作

  1. 用户点击屏幕上的方块。
  2. 有邻居正方形,因为它是一个网格,然后用户可以移动到邻居正方形而不释放鼠标,我需要检测鼠标进入这个新正方形以激活下一个,在第一次移动后,运动方向变得固定。
  3. 重复,直到鼠标重新发布,释放鼠标时,检查是否匹配,这就是全部。
  4. 我已经使用onmousedownonmouseenteronmouseleave很好地实现了这一点,并在我处理最后一步的文档中添加了onmouseup

    问题是,我需要在移动设备上工作。我已设法使用divtouchstart组合实现拖动touchmove,这很简单。现在我试图实现上述行为,但我发现了,

    • 不再存在touchentertouchleave个事件,touchmove显然仅在目标已有touchstart事件时触发。

    令人沮丧的是,没有无缝的方法可以做到这一点,我确实理解触摸设备与鼠标不同,但我认为应该对待的常见行为没有太大的区别,只能区别对待特殊事物每个设备都有。

    如果有办法做到这一点,我真的很感激,因为我厌倦了阅读文档并尝试解决问题的事情,但却没有。

    根据评论中的要求,这是我的网格 enter image description here

    请注意,此网格不是静态的,也不是直接使用HTML创建的,而是从文件中提取并使用其他程序生成的,它只是<table>

1 个答案:

答案 0 :(得分:1)

我的最终解决方案是在容器上添加<input id="submit" type="submit" value="Send" onclick="window.location.href='registered.html'"> 侦听器(表体),然后使用touchmove手动触发给定元素的事件。 / p>

我会跟踪触发事件的最后一个元素,以防止多次执行此操作。如果需要,它还允许触发elementFromPoint()

相关问题