2013-03-04 57 views
0

我知道我可以使用onoff来添加和删除处理程序。jQuery切换点击和悬停之间的事件处理程序

我试图完成的是在触摸设备上使用click,在桌面上使用hover

我的代码工作时,我调整窗口从小到大,但不起作用(不能解除悬停处理程序)缩小时。

我正在使用引导程序的下拉菜单,如果有帮助。

enableHover : function() { 
    $('.dropdown-toggle').off(); 
    $('.dropdown-toggle').parent().on({ //parent needed for hover 
     mouseenter: function() { 
      $(this).addClass('open').find('ul').show(); 
     }, 
     mouseleave: function() { 
      $(this).removeClass('open').find('ul').hide(); 
     } 
    }); 

    }, 
    disableHover : function() { 
    $('.dropdown-toggle').parent().off('mouseenter mouseleave'); 
    $('.dropdown-toggle').dropdown(); 
    } 
+0

何时调用'enableHover'和'disableHover'? – 2013-03-04 00:57:51

+0

它们在调整窗口大小时被调用。如果宽度小于> 768 - > disableHover if < 768 -> enableHover。 – howtodothis 2013-03-04 02:33:24

+0

你是说即使宽度实际上小于768,disableHover也不会启动?你确定它是? – 2013-03-04 02:39:18

回答

0

使用类hide & show方法,而不是解决了这个问题。