在移动设备上,当您点击元素时,会触发单击事件。但是,它并不总是达到document.body
.
<body>
<div class="with-click"></div>
</body>
document.querySelector('.with-click').addEventListener('click', (e) => ...);
document.body.addEventListener('click', (e) => ...);
演示。
现在,当您在div
div 外部单击时,body
上没有任何反应,但是当您在div 内部单击时,正文会收到单击事件。例如,如果您从该div (DEMO( 中删除点击侦听器,则不再接收点击。
这是正常行为吗?这能解决吗?
将document.body.addEventListener
更改为document.addEventListener("click", ...)
。
我已经验证了使用此小提琴解决了iOS上的问题。