Click-event并不总是传播到移动设备上的document.body

时间:2017-08-09 15:47:22

标签: javascript dom-events mobile-devices

点击元素时,在移动设备上会触发点击事件。但是,它始终不会前往document.body

<body>
    <div class="with-click"></div>
</body>

document.querySelector('.with-click').addEventListener('click', (e) => ...);

document.body.addEventListener('click', (e) => ...);

demo

现在,当你在div外面点击时,body上没有任何反应,但当您在div内部点击时,正文会收到点击事件。例如,如果您从该div(DEMO)中删除了单击侦听器,则不再接收该单击。

这是正常行为吗?这可以修复吗?

1 个答案:

答案 0 :(得分:1)

document.body.addEventListener更改为document.addEventListener("click", ...)

我已经确认这可以使用 this Fiddle 解决iOS上的问题。