jquery中的toggle()事件在1.9以后的版本后就被删除了,高版本的已经不能用了。jquery-2.1.4 (注!jquery-2.0以上版本不再支持IE 6/7/8)
解决方法:可以通过加开关量来进行两个事件的切换或者通过判断添加class名的方法来实现多个事件的切换。
通过class名:$("#btn").click(function(){
if($("#btn").hasClass("qwe")){
jk1();
$("#btn").removeClass("qwe");
}else{
jk2();
$("#btn").addClass("qwe");
}
})
通过flag开关量:var flag=true;
$("#btn").click(function(){
if(flag){
jk1();
flag=false;
}else{
jk2();
flag=true;
}
})
(附:网上有人说加上下面的方法放到jq里面,toggle()事件就可以正常使用了,我试了一下不行,不过这个方法先放到这里
$.fn.toggler = function( fn, fn2 ) { var args = arguments,guid = fn.guid || $.guid++,i=0, toggler = function( event ) { var lastToggle = ( $._data( this, "lastToggle" + fn.guid ) || 0 ) % i; $._data( this, "lastToggle" + fn.guid, lastToggle + 1 ); event.preventDefault(); return args[ lastToggle ].apply( this, arguments ) || false; }; toggler.guid = guid; while ( i < args.length ) { args[ i++ ].guid = guid; }
return this.click( toggler );)
(注:使用方法
js部分:function jk1(){
$("button").html(1);
}
function jk2(){
$("button").html(2);
}
function jk3(){
$("button").html(3);
}
$("#btn").toggle(jk1,jk2,jk3);)
html部分:
qwe
另外:一同取消的常用的还有