<!-- filename : index.html --><!--<!DOCTYPE html>--> //keng0 怪异模式 <html> <head> <meta charset="utf-8" /> <title>jQuery升级踩坑大全</title> <script type="text/javascript" src="https://code.jquery.com/jquery-2.1.4.min.js" ></script> <script type="text/javascript" src="https://code.jquery.com/jquery-migrate-1.2.1.js" ></script> </head> <body> <div>a</div> <input type="radio" value="b" /> <input type="radio" value="c" /> <div value="d">test</div> <script type="text/javascript"> //开始踩坑 //使用被废弃分$.attrFn方法 var keng1 = $.attrFn || {}; //该函数在jQuery内部调用,真实项目中从未见过,可忽略,这里只是为了触发一下错误警告 var keng2 = $.attr($("#a"), "class", "xxx", true); //IE6、7、8中不支持改变输入框的类型 var keng3 = $("input#b").attr("type", "text"); //在该使用prop的地方使用了attr var keng4 = $("input#c").attr("checked", true); //使用attr获取property的值,正确的是应该使用 .val() var keng5 = $("div#d").attr("value"); //使用attr设置property的值,正确的是应该使用 .val('somevalue') var keng6 = $("div#d").attr("value", "abcd"); //html字符串必须以'<'开头(下面这个是以空格开头) var keng7 = $(" <div></div>"); //最后一个tag后面还有多余字符串 var keng8 = $("<div></div>abc"); //html字符串不可以以井号‘#'开头 try{ var keng9 = $("#<div></div>"); }catch(e){ console.error(e); } //$.parseJSON的参数必须是合法的JSON字符串 var keng10 = $.parseJSON(undefined); //使用被废弃的$.browser var keng11 = $.browser; //使用被废弃的$.sub var keng12 = $.sub(); $("#c").on("click", function(){}); var keng13 = $("#c").data("events"); //调用了已经不再使用的函数andSelf,该函数已经被addBack替代 var keng14 = $("#c").nextAll().andSelf(); //使用被废弃的$.clean方法 try{ var keng15 = $.clean(); }catch(e){ console.error(e); } //"hover"字符串注册事件已经被拆成"mouseenter"和"mouseleave"两个 var keng16 = $("#d").on("hover", function(){/*some code*/}); //jQuery.event.handle并没有收录到官方的API中,新版本已经被移除 var keng17 = function(){ $.event.handle.apply(this, arguments); }; //全局AJAX事件处理必须绑定到document对象上 var keng18 = $("#c").ajaxStart(function(){}); //使用了被废弃的error方法 var keng19 = $("#c").error(function(){}); //使用了被废弃的toggle方法 var keng20 = $("#d").toggle(function(){/*some code*/}, function(){/*some code*/}); //使用了被废弃的live方法,应该使用on方法替代之 var keng21 = $("#a").live("click", function(){/*some code*/}); //使用了被废弃的die方法,应该使用off方法替代之 var keng22 = $("#a").die("click"); //使用了全局事件函数,目前全局事件只支持AJAX那几个,其他全局事件都不支持 var keng23 = $.event.trigger("click"); </script> </body> </html>
您可能感兴趣的文章: