[英]Strange Click Event Bubble on iPhone safari that it stop before bubbling to document.body
我將click事件綁定為document.body.onclick = function(){alert(“aaa”)};
無論我點擊什么元素,它都可以在IOS上的android或chrome上做得很好。 但是在點擊除a和img元素之外的元素時,它不會觸發iPhone Safari。
但它可以在綁定touchstart事件時冒泡到正文。
最后,我必須添加到div(#main)以包含我的所有元素,然后綁定此div上的委托對象。
document.querySelector(“#main”)。onclick = function(){alert(“aaa”)}
所以我徘徊為什么onclick事件在它冒泡到身體之前就停止了。
我知道這已經很老了,但是當我遇到同樣的問題時,我仍然設法把它挖出來。
簡而言之,除非iOS Safari認為事件目標是可點擊元素,否則iOS Safari中的鼠標事件不會冒泡到document.body
。
可點擊元素是以下之一:
事件的目標元素是鏈接或表單字段。
目標元素或其任何祖先( 但不包括
<body>
)具有為任何鼠標事件設置的顯式事件處理程序。 此事件處理程序可能是一個空函數。目標元素或其任何祖先(包括文檔)都有一個游標:指針CSS聲明。
(引自這里 ,強調我的。)
可能的修復包括:
cursor: pointer
任何不符合描述的元素的cursor: pointer
。 document.body
一級的點擊。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.