Javascript 为什么window没有';t触发触摸设备的点击事件

Javascript 为什么window没有';t触发触摸设备的点击事件,javascript,dom,Javascript,Dom,我有一个要为窗口添加的单击事件。它适用于台式机,但不适用于移动设备 基本上我在最新的Chrome和Safari上运行测试 $('#button1').click(function(){ $('#text').append('<div> jquery click</div>') // this would get executed on both desktop and mobile }) window.addEventListener(

我有一个要为窗口添加的
单击
事件。它适用于台式机,但不适用于移动设备

基本上我在最新的Chrome和Safari上运行测试

  $('#button1').click(function(){
     $('#text').append('<div> jquery click</div>')
     // this would get executed on both desktop and mobile
  })
    window.addEventListener('click', function() {
     $('#text').append('<div> native click on window</div>')
     // this only gets executed on desktop
  })
$('#按钮1')。单击(函数(){
$('#text')。追加('jquery click')
//这将在桌面和移动设备上执行
})
window.addEventListener('click',function(){
$('#text')。追加('native click on window')
//这只在桌面上执行
})
因此,我的问题是,为什么在移动设备上不会触发
单击事件?

显示,对于Safari,如果元素不被视为“可单击”,则不会触发任何单击事件。我假设
窗口
不被视为“可点击”,因此
窗口
不会触发任何“点击”事件(由其他可点击元素传播的事件除外)

还有一个狩猎旅行来解释这一点


虽然我没有在Chrome上找到任何东西,但我假设它采用相同的想法。

显然Safari并不认为窗口是可点击事件。 正如伊迪德所指出的那样,这个问题将得到更详细的解释


要修复它,只需将
window.addEventListener()
替换为
document.addEventListener()

这些都是非常通用的语句。。。请包括未发生
单击事件的代码。。在什么浏览器中工作的示例等。您可以单击屏幕吗?:)@thomasewards的可能副本您能删除“可能回答的问题”吗?这不是一个类似的问题,