其实从去年开始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 继承关系上,这个元素的所有子元素也能接收到这个事件,这时你可以使用一个在父元素上的事件处理器来处理(事件委托来处理),而不是使用一堆的各个子元素上的事件监听器来处理(绑定就是建立监听器);