我有demo link我要为窗口添加click
事件。它适用于桌面,但不适用于移动设备。
基本上我在最新的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
})
所以我的问题是,为什么click
事件在移动设备上不会触发?
答案 0 :(得分:0)
MDN表明,对于Safari,如果某个元素不被视为“可点击”,则不会触发点击事件。我认为window
不被视为“可点击”,因此window
不会触发“点击”事件(除了由其他可点击元素传播的事件)。
还有一个Safari link来解释这一点。
虽然我在Chrome上找不到任何内容,但我会假设它采用相同的想法。
答案 1 :(得分:0)
显然Safari并不认为该窗口是可点击的事件。
正如ydydyd所指出的那样,Safari docs会有更详细的解释。
要解决此问题,只需将window.addEventListener()
替换为document.addEventListener()