pc端上定义的hover事件在手机端产生影响?

我的项目是一个响应式用到了boostrap的dropdown插件做菜单,在pc要改成hover触发,移动端使用默认的点击事件,但是在pc定义的hover事件到手机模式会影响到默认的点击事件,我就使用

if($(window).width() > 991) {
   $('.navbar li.dropdown').hover...
}

判断在pc尺寸用hover事件,移动用它的默认点击事件,但是这个有个问题是只能在页面加载时生效。因为是响应式如果一点点拉浏览器屏幕从pc到移动尺寸或是手机尺寸打开拉到pc尺寸就不行了,我又想到用resize判断,如果大于991px,就执行一次绑定hover函数的方法

$(window).on('resize', function() {
  if($(window).width() > 991) {
   hoverEvent()
}
})
function hoverEvent() {
  $('.navbar li.dropdown').hover...
}

但是这样感觉会有问题。有没有更好的解决方法呢?

阅读 3.9k
1 个回答

你需要根据useragent判断是什么端,而不是宽度来判断。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题