首页 > 代码库 > jquery升级换代

jquery升级换代

其实从去年开始1.9以上新版的jquery已不再支持toggle方法和live方法。

live用on方法替代。

话说这个方法确实挺方便的,那么怎么交替点击呢,html的checked属性我觉得不是很好用,用css中的display:none的字符串比较更是避免不了中间过渡时候状态出错。

其实jquery还有一个伪属性

 :visible

用is方法来判断 :visible的状态是否为真即可

例如

$("#id").on(‘click‘,function(){
   if($("#id a").is(":visible")){
      $("#id a").css({display:"none"});  
    }else{
       $("#id a").css({display:"block"});  
    }  
});

用on绑定点击事件。

现在流行对象属性的时髦写法

$("#id").on({

    click:function(){
    
    }

    mouseenter:function(){

    }

    mouseleave:function(){

    }
});

on不仅替代了live,还整合了delegate 事件委托

$(function(){
    $(‘body‘).on(‘click‘,‘.id‘,function(e){
         alert("click");
    });
    $("<div class=‘id‘>appen one div</div>").insertAfter("#id_0");
});
 事件委托的好处:当页面上某个元素上的事件触发时,在 DOM 继承关系上,这个元素的所有子元素也能接收到这个事件,这时你可以使用一个在父元素上的事件处理器来处理(事件委托来处理),而不是使用一堆的各个子元素上的事件监听器来处理(绑定就是建立监听器);