經歷iOS6的奇怪行爲和非功能事件委託,根這是,如果我只是將一個事件處理document.body的,像這樣:單擊事件監聽器附加到document.body不在iOS6中觸發?
document.body.addEventListener("click", function(){alert("ios6 sucks")}, false);
這並不得到運行,例如,如果我去google.com並通過safari遠程webinspector添加。在某些情況下,它會運行,包括如果我點擊頁面上的鏈接,或者點擊直接附加了事件處理程序的元素。在主流瀏覽器以及iOS 5和4中也是如此。在向body添加touchend時會觸發它,因爲它可能是潛在的解決方法,但最好讓瀏覽器檢測點擊,而不必在touchstart中編寫一些點擊檢測/ touchend。我想知道這是不是iOS6的錯誤。但我還沒有看到任何人抱怨這個呢。
以下我的發現,如果我將一個單擊處理程序附加到一個單獨作爲身體的直接子節點的div,將整個頁面包裝起來,那麼這將起作用。而作爲副作用,這將使身體點擊事件觸發器以及...如果沒有事件附加到子div,那麼沒有事件觸發正文。 – bonklers