如何在iPhone触摸屏上实现onmousedown和onmouseup

42

我对HTML/JavaScript非常陌生,但正在学习……

我想在iPhone上制作一个按钮,在按下时运行JavaScript命令,松开时运行另一个命令。我尝试使用onmousedownonmouseup属性来做到这一点,但在iPhone上无法正常工作。

<input type="image" onmousedown="command_press()" onmouseup="command_release()" src="images/UP-Dark.png" alt="" title="" />

有人能告诉我如何在iPhone上做同样的事情吗?

2个回答

48

onmousedown 在触摸屏设备上的等效属性为 ontouchstart,而 onmouseup 的等效属性为 ontouchend

如果您还想检测拖动操作,可以使用 ontouchmove,它会在您触摸屏幕后每次移动手指时被触发。


1
请注意,如果您使用类似 element.onmousedown = element.onkeydown = element.ontouchstart = function() { /* event handler... */ } 的方式,则该程序将触发两次。按照 Zectbumo 的答案中的建议使用 onpointerdown 替换鼠标和触摸事件,可以解决这个问题。 - Luc

40

您可能会对onpointeruponpointerdown事件感兴趣,它们适用于触摸设备和非触摸设备。 检查浏览器支持情况


2
Zectbumo,你是一个救命恩人。谢谢。 - user3570022

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接