jQuery 与IE浏览器兼容性的思考

兼容性:对,说你呢!IE! 当我们在说浏览器兼容性的时候,其实我们大多数时候在说IE浏览器的兼容性。 对,说你呢!IE! 现在jQuery的最新版已经是3.3.1, 根据jQuery的官方说明。 最新版的jQuery支持IE9+, 如果你想支持IE6-8,那么你最好去用jQuery 1.12。 Current Active Support Desktop Internet Explorer: 9+ If you need to support older browsers like Internet Explorer 6-8, Opera 12.1x or Safari 5.1+, use jQuery 1.12. 来自 Browser Support jQuery的亮点 我只想安安静静的做东西,不想和各种浏览器diss或者battle。 所以老司机总是选择一个合适的轮子,

2018-09-01 · 1 min · 王端端

表单验证工具 jquery-validation Vs Parsley

1. 基本对比 名称 gitbub地址 stars 文档地址 jquery-validation 这里 7859(截止7/21) 这里 Parsley.js 这里 7979(截止7/21) 这里 2. 强烈推荐Parsley 这两个表格验证插件我都用过,最早用的是jqueryValidataion, 现在用Parsley。 这两个插件都依赖jQuery。但是如果说那个跟好用的话,真心推荐Parsley。Parsley号称不用写一行代码就能验证表单。另外从star的数量上也可以看出来Parsley更流行。而且Parsley支持在html中就将错误信息定义在里面。 Parsley优势 直观的DOM API: 像没有其他表单验证库一样,只需用HTML格式写入您的要求,Parsley将会做剩下的所有事情!不需要编写一行代码来验证表单。 动态表单验证: parsley现在更聪明,它会自动检测您的表单的修改并相应地调整其验证。简单地添加,删除或编辑字段,parsley将会自动验证。 还有好多… <form> <input type="text" required="" data-parsley-checkphonenum data-parsley-checkphonenum-message="手机号码格式有误" name="phoneNum" class="form-control" placeholder="请填写手机号"> </form> //验证表单 // 注意 checkphonenum是我自定义的验证规则,添加到parsley里面的 $('from').parsley().validate();

2018-02-08 · 1 min · 王端端

熟练使用使用jQuery Promise (Deferred)

1. 情景再现 以前用nodejs写后端程序时,遇到Promise这个概念,这个东西好呀!不用谢一层一层回调,直接用类似于jQuery的连缀方式。后来遇到bluebird这个库,它就是Promise库中很有名的。我希望可以把Promise用在前端的ajax请求上,但是我不想又引入bluebird。后来发现,jquery本身就具有类似于Promise的东西。于是我就jquery的Promise写一些异步请求。 2. 不堪回首 看看一看我以前写异步请求的方式 // 函数定义 function sendRequest(req,successCallback,errorCallback){ $.ajax({ ... ... success:function(res){ successCallback(res); }, error:function(res){ errorCallback(res); } }); } // 函数调用,这个函数的匿名函数写的时候很容易出错,而且有时候难以理解 sendRequest(req,function(res){ //请求成功 ... },function(res){ //请求失败 ... }); 3. 面朝大海 下面是我希望的异步调用方式 sendRequest(req) .done(function(res){ //请求成功 ... }) .fail(function(req){ //请求失败 ... }); 4. 废话少说,放‘码’过来 talk is cheap, show me the code // 最底层的发送异步请求,做成Promise的形式 App.addMethod('_sendRequest',function(path,method,payload){ var dfd = $.Deferred(); $.ajax({ url:path, type:method || "get", headers:{ sessionId:session.id || '' }, data:JSON....

2018-01-29 · 1 min · 王端端