我将单击事件绑定为document.body.onclick =function(){警报(“aaa”)};
无论是在android上还是在IOS上,无论我点击什么元素,它都会做得很好。但是它不会在iPhone safari上触发,同时单击除了一个和img元素以外的元素。
但是它可以在绑定touchstart事件时泡到身体上。
最后,我必须添加到div(#main)以包含我的所有元素,然后在这个div上绑定委托对象。
document.querySelector("#main").onclick =function(){aaa)}
所以我想知道为什么onclick事件会在它泡到身体之前停止。
发布于 2016-12-22 16:12:42
我知道这很古老,但当我遇到同样的问题时,我还是设法把它挖出来了。
简而言之,iOS Safari中的鼠标事件不会冒泡到document.body
,除非iOS Safari认为事件目标是一个可点击的元素。
可单击元素是以下内容之一:
<body>
)都为任何鼠标事件设置了显式事件处理程序。此事件处理程序可能是空函数。(引用自这里,重点是我。)
可能的解决办法包括:
cursor: pointer
添加到任何不符合描述的元素中。document.body
下面一个级别的单击。https://stackoverflow.com/questions/18524177
复制相似问题