請參閱臺式機和iPhone我的JS小提琴:<body>只可點擊這裏子元素填充
https://jsfiddle.net/5jb3x5cn/4/
我使用的是click eventListener
上document.body
:
document.body.addEventListener('click', function(){
alert(1);
})
我填的背景以藍色顯示,以便您可以看到整個框架正在被身體填充並給予其高度爲100vh
。
我爲iPhone插入了一個子元素。
在桌面上,您會注意到無論您在哪裏點擊body
,都會收到警報。在iPhone上,僅當您單擊子元素時纔會顯示警報。我只能假設子元素用一些空間填充身體,在那裏你可以點擊 - 不管身體設置的高度如何。
有趣的是document.body.clientHeight
返回一個值,這表明body
有一個體面的可點擊大小。
現在,如果你頭部到:https://jsfiddle.net/5t8arze9/1/
你會發現,整個body
是點擊。這裏我使用了touchstart
eventListener
。
任何人都可以指向正確的方向嗎?
乾杯, 丹
嘿,感謝回答。此代碼將事件附加到文檔而不是正文。此代碼也會導致相同的行爲。對不起:/ –