• 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,就用第三种吧!

    不管怎样,问题已解决,接着写代码吧!勤劳的码农。

  • 相关阅读:
    A+B Problem
    迭代平方根
    猴子报数
    分数求和
    猴子吃桃
    钻石
    杨辉三角形
    MYSQL 5.7 修改密码、登录问题
    SQL 语句 explain 分析
    重构CMDB,避免运维之耻
  • 原文地址:https://www.cnblogs.com/dereksunok/p/3873673.html
Copyright © 2020-2023  润新知