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的可能副本您能删除“可能回答的问题”吗?这不是一个类似的问题,