window.addEventListener('click', function) 在 iPhone 上不起作用



我目前正在为Wes Bos的JavaScript 30项目工作,在这个drumkit项目中,我希望通过允许用户单击按钮而不是仅通过'keydown'事件来添加到他完成的代码中。

添加playSound功能后检测

event.path[1].dataset.key || event.path[0].dataset.key

以便click事件能够获取包含keyCode的按钮属性,并使用该属性来检测要播放的音频。然后我这样写:

window.addEventListener('click', playSound);

它在台式机上运行得很好,在我的安卓智能手机上也运行得很好,但由于某种原因,这个按钮在iphone上不起作用。

因此,在查看了stackoverflow上的一些类似结果之后,以下是我尝试的:

window.addEventListener('touchstart', playSound)

window.addEventListener('DOMContentLoaded', (event) => {
window.addEventListener('touchstart', playSound)
});

但他们两人似乎在iphone上工作。iphone是不是有什么特别之处,不允许我用它的触摸屏点击按钮?Android似乎没有这个问题。

我所需要做的就是使用document。addEventListener而不是window。addEventListener for iOS