这是我正在处理的动态JavaScript应用程序。我有许多<a>
具有类的锚点元素。单击该类时,应该会发生一些事情。在Firefox,Chrome,IE中,此方法工作正常,但在某些情况下,移动Safari(iPad和iPhone)上不会触发click事件。
这些元素都具有完全相同的CSS,只是它们的位置不同(它们在不同的容器中)。
我尝试了在这里找到的各种解决方案,但是没有运气。例如:
您还有其他想法可以帮助我找到解决方案吗?为什么单击事件仅在某些情况下触发?
在某些情况下,iOS上的点击导致的click事件将按预期冒泡-您提到的其中一种是光标样式。这是另一个:
目标元素或其任何祖先(但不包括
<body>
)具有为任何鼠标事件设置的显式事件处理程序。此事件处理程序可能是空函数。
http://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
这是更好的修复程序,无需浏览器即可完成。由于“不包括<body>
”部分,您必须添加一个额外的div :
<body>
<div onclick="void(0);">
<!-- ... all your normal body content ... -->
</div>
</body>
现在,该div中发起的每个click事件都会在iOS中按预期方式冒泡(表示您可以使用捕获它们$(document).on('click', '.class', etc...)
)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句