首页 > 代码库 > jQuery用unbind方法去掉hover事件及其他方法介绍
jQuery用unbind方法去掉hover事件及其他方法介绍
近日项目开发十分的繁忙,其中一个需求是实现响应式导航。(响应式的问题我们在css相关的博客中再交流)
大家都知道导航是需要下来菜单效果的,必然就会用到 jQuery的 hover() 方法。若是导航放在ipad中,自然hover()就没有什么意义了。那该如何取消hover()并添加touch事件呢?
今天遇到jquery需要去掉hover的问题,原以为直接unbind(“hover”)就可以搞定,可是搞了半天都报错。
原因其实很简单,hover并不是事件。打开参考手册,hover其实由 mouseenter和mouseleave构成的。这样问题就很明了!
/* 这种方法是错误的 */$(#hover_div).unbind("hover");/* 这种方法也是错误的 */$(#hover_div).unbind("mouseover").unbind("mouseout");/* 这种方法是新增的,在老的版本里是无法使用的 */$(#hover_div).unbind("mouseenter mouseleave");/* 这种方法正确的,新老版本皆可用 */$(#hover_div).unbind("mouseenter").unbind("mouseleave");
上面的代码建议使用第四种,相对安全些。(自己也没测试具体哪些版本支持第三种方法)若是觉得不爽,自己刚download了新版的jQuery,就用第三种吧!
不管怎样,问题已解决,接着写代码吧!勤劳的码农。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。