如果在触摸设备上查看我的网站,我试图禁用附加到悬停事件的功能。如果设备是触摸的,那么我的身体标签就有了“触摸”功能。如果没有触摸它有' .no-touch'
当我使用触摸类
编写这样的委托函数时$('.no-touch .list').delegate('img', 'hover', function() {
...
}
即使我没有使用触摸设备,它也会停止工作。另外,在Chrome开发者工具中,当我查看元素时,body标签上有触摸类,在Source视图中,body标签没有该类。这可能是问题的一部分吗?
答案 0 :(得分:1)
当你将一个委托的处理程序分配给一个找到body标签的选择器时,改变body的类是不够的,以便从该处理程序中删除它。你必须:
$('whateverSelectorIsRelevantNow').undelegate('img', 'hover', function() {
...
}
答案 1 :(得分:0)
$('.no-touch, .list').delegate('img', 'hover', function() {
...
}