python_way day17 jQuery表单验证,事件绑定,插件,文本框架,正则表达式
python_way day17
1、jQuery表单验证
dom事件绑定
jquery事件绑定
$.each return值的判断
jquery扩展方法
2、前段插件
3、jDango文本框架
4、正则表达式
一,jQuery:表单验证:
1、dom方法提交表单,并验证:
表单验证
2、jQuery方法提交表单,验证方法:
这种绑定事件的好处在于在阅览器里面看不到是谁绑定的这个事件。只有js知道谁绑定了时间
表单验证
3、each知识点:
each循环
return:相当于continue。

return false:相当于break。

二、jQuery扩展:写成模块
1、jquery 2种 插件机制:
第一种:不依赖选择器直接可以使用的扩展
jQuery代码:
jQuery.extend({min: function(a, b) { return a < b ? a : b; },max: function(a, b) { return a > b ? a : b; }
});
结果:我们就多了这两个方法
jQuery.min(2,3); // => 2
jQuery.max(4,5); // => 5
实例:
扩展代码:
function (jq) {jq.extend({"action":function (arg) {console.log(arg)}}) })(jQuery);extend.js
调取扩展代码:
Title
//因为扩展也是依赖jquery的,所以这里需要加载jquery //加载自己写的js模块
第二种:需要先通过选择器来执行这个自定义方法
jQuery代码:
jQuery.fn.extend({ //关键字check: function() { //check为方法名,自执行函数里面是自执行函数的方法return this.each(function() { this.checked = true; }); //this就代指的前面的选择器选择的内容},uncheck: function() {return this.each(function() { this.checked = false; });}
});
结果:这种方法我们需要先使用选择器来选定一个范围,然后再使用我们定义的方法
$("input[type=checkbox]").check();
$("input[type=radio]").uncheck();
2、闭包:
多个js扩展有可能全局变量或者函数名会有冲突的,这时候就徐亚使用闭包,来隔离这些冲突
冲突例子:
有两个extend,分别是extend1.js,extend2.js,这两个都没有闭包,他们的扩展中都调用了相同名字的函数
$.extend({action1:function () {f1()} }) function f1() {console.log("extend1") }extend1
$.extend({action2:function () {f1()} }) function f1() {console.log("extend2")extend2
这两个文件中都调用了f1函数
//这里我们先加载了extend2 //这里我们后加载了extend1所以extend1的f1函数就覆盖了extend2里面的f1函数