python前端jQuery高级

知识点预习
1、jQuery事件冒泡2、事件委托 3、元素节点操作 4、正则表达式及表单验证实例

01- submit事件

//监听 提交的事件
$("form").submit(function (abc) {
    //阻止系统的默认行为
   // abc.preventDefault();
    return false;
})
  • 事件冒泡的原理在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事
    件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的
    父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层次的最
    顶层,即document对象(有些浏览器是window)。
    事件冒泡验证
    事件的传递: 子 --> 父-->祖父-->window
    冒泡: 父元素 有同样的事件
    事件冒泡机制有时候是不需要的,需要阻止掉
    通过 event.stopPropagation() 来阻止
    合并写法:return false; 可以阻止冒泡也可以阻止事件的默认行为

04- 弹框案例
点击按钮显示,但要注意阻止它的冒泡点击document对象隐藏
点击提示框时不隐藏提示框,阻止冒泡
点击关闭按钮时隐藏提示框,单独实现,因为父级阻止冒泡了

05- 事件冒泡小结
只有在父子都要处理相同事件时才去考虑事件冒泡问题,一般情况不用关心它!优点
如果父子有相同事件,而且相同事件的功能都一样 时,可以只用给父级添加事件,减少添加绑定事件次数,减少代码量,提升性能效率

弊端:
如果父子有相同事件,但相同事件的功能不一样 时,就要阻止冒泡

06- 事件委托
事件委托就是利用冒泡的原理,把事件加到父级上,通过判断事件来源的子集,执行相应的操作,事件委托首先可以极大减少事件绑定次数,提高性能;其次可以让新加入的子元素也可以拥有相同的操作。
事件委托的优点:
1.减少事件绑定次数,减少代码量
2.后面新添加的子元素也可以正常执行事件

07- 节点操作
创建节点

var $div = $(‘<div>‘); // 空节点/空标签
var $div2 = $(‘<div>这是一个div元素</div>‘);
插入节点
1、在现存元素的内部,从后面插入元素
现存元素.append(‘插入的元素‘)插入的元素.appendTo(‘现存元素‘)2、在现存元素的内部,从前面插入元素 现存元素.prepend(‘插入的元素‘) 插入的元素.prependTo(‘现存元素‘)3、在现存元素的外部,从后面插入元素 现存元素.after(‘插入的元素‘) 插入的元素.insertAfter(‘现存元素‘)4、在现存元素的外部,从前面插入元素 现存元素.before(‘插入的元素‘) 插入的元素.insertBefore(‘现存元素‘)删除节点

$(‘#div1‘).remove();
TODOList案例
1.获取元素2.判断是否为空 3.将新增的内容 添加到列表 4.删除 上移动 下移动 5. 判断 到头 和到尾

09- 正则复习
1、什么是正则表达式:
能让计算机读懂的字符串匹配规则。
2、正则表达式的写法:

var re=new RegExp(‘规则‘, ‘可选参数‘);
var re=/规则/参数;
规则中的字符

1)普通字符匹配: 如:/a/ 匹配字符 ‘a’,/a,b/ 匹配字符 ‘a,b’
2)转义字符匹配:
\d 匹配一个数字,即0-9
\D 匹配一个非数字,即除了0-9
\w 匹配一个单词字符(字母、数字、下划线)
\W 匹配任何非单词字符。等价于A-Za-z0-9_
\s 匹配一个空白符
\S 匹配一个非空白符
\b 匹配单词边界
\B 匹配非单词边界
.匹配一个任意字符
var sTr01 = ‘123456asdf‘;
var re01 = /\d+/;
//匹配纯数字字符串
var re02 = /^\d+$/;
alert(re01.test(sTr01)); //弹出true
alert(re02.test(sTr01)); //弹出false
4、量词:对左边的匹配字符定义个数

? 出现零次或一次(最多出现一次)
"+" 出现一次或多次(至少出现一次)
"*" 出现零次或多次(任意次)
{n} 出现n次
{n,m} 出现n到m次
{n,} 至少出现n次
、任意一个或者范围

xxxxxxxxxx [abc123] : 匹配‘abc123’中的任意一个字符[a-z0-9] : 匹配a到z或者0到9中的任意一个字符
限制开头结尾
^ 以紧挨的元素开头$ 以紧挨的元素结尾
修饰参数:

g: global,全文搜索,默认搜索到第一个结果接停止
i: ingore case,忽略大小写,默认大小写敏感
8、常用函数

1、test
用法:正则.test(字符串) 匹配成功,就返回真,否则就返回假
2、replace
用法:字符串.replace(正则,新的字符串) 匹配成功的字符去替换新的字符
正则默认规则
匹配成功就结束,不会继续匹配,区分大小写

var sTr01 = ‘abcdefedcbaCef‘;
var re01 = /c/;
var re02 = /c/g;
var re03 = /c/gi;
var sTr02 = sTr01.replace(re01,‘*‘);
var sTr03 = sTr01.replace(re02,‘*‘);
var sTr04 = sTr01.replace(re03,‘*‘);
alert(sTr02); // 弹出 ab*defedcbaCef
alert(sTr03); // 弹出 ab*defed*baCef
alert(sTr04); // 弹出 ab*defed*ba*ef
常用正则规则

//用户名验证:(数字字母或下划线6到20位)
var reUser = /^\w{6,20}$/;
//邮箱验证:
var reMail = /^[a-z0-9][\w\.\-]*@[a-z0-9\-]+(\.[a-z]{2,5}){1,2}$/i;
//密码验证:
var rePass = /^[\[email protected]#$%^&*]{6,20}$/;
//手机号码验证:
var rePhone = /^1[34578]\d{9}$/;
  • 注册表单验证密码只能是6到20位字母数字,还包含"[email protected]#$%^&*"字符
    br/>提示内容
    xx不能为空!
    用户名只能是6到20位字母数字,还包含"_"
    密码只能是6到20位字母数字,还包含"[email protected]#$%^&*"字符
    两次输入的密码不一致!
    你输入的邮箱格式不正确
    1.判断输入是否为空,如果为空弹不能为空提示2.如果不为空,就用正则匹配输入是否符合规则

3.密码确认,只需要判断两个密码是否一样
4.只要点击文本输入框就隐藏提示
5.单选框的判断
js写法:单选框标签对象.checked == truejQuery写法:单选框标签对象.is(:checked) == true
6.定义bool变量用来记录输入是否正确,注意因为单选框默认就是勾选,所以用来判断它的变量默认值要能通过判断
当所有输入都没有问题之后才能提交数据

python前端jQuery高级

原文地址:http://blog.51cto.com/13517854/2327643

时间: 2024-08-25 00:26:14

python前端jQuery高级的相关文章

python前端jQuery综合应用

知识点预习1.幻灯片的制作2.json数据格式及ajax 01- 轮播图-获取相关元素[mw_shl_code=applescript,true]var $slide = $('.slide'), // 轮播区域的div $slideList = $('.slide_list'), // 轮播列表$lis = $('.slide_list li'),// 轮播中的四个li$prevBtn = $('.prev'), // 上一张按钮$nextBtn = $('.next'), // 下一张按钮$

ASP.NET 登录中Cookies和验证和前端Jquery

1.登陆中的验证问题 登录中用户名和密码的判断,一是怎么判断,需要调用业务逻辑层的判断方法,这里是单独拿出一个层Controls来进行授权和登录的验证.那怎么进行验证结果的返回,正确进入下个页面错误返回登录页面,首先想到的放法写一个bool的方法,正确进入下一个页面,错误返回登录页面.这里用的一个比较专业的方法是在Controls设置一个数据返回接口类DataResult.cs里面定义好code,Message,Data分别用于进行登录验证,错误信息返回,数据返回(这里暂时用不到)至于为什么这样

Python中的高级数据结构(转)

add by zhj: Python中的高级数据结构 数据结构 数据结构的概念很好理解,就是用来将数据组织在一起的结构.换句话说,数据结构是用来存储一系列关联数据的东西.在Python中有四种内建的数据 结构,分别是List.Tuple.Dictionary以及Set.大部分的应用程序不需要其他类型的数据结构,但若是真需要也有很多高级数据结构可供 选择,例如Collection.Array.Heapq.Bisect.Weakref.Copy以及Pprint.本文将介绍这些数据结构的用法,看 看它

Python中的高级数据结构详解

这篇文章主要介绍了Python中的高级数据结构详解,本文讲解了Collection.Array.Heapq.Bisect.Weakref.Copy以及Pprint这些数据结构的用法,需要的朋友可以参考下 数据结构 数据结构的概念很好理解,就是用来将数据组织在一起的结构.换句话说,数据结构是用来存储一系列关联数据的东西.在Python中有四种内建的数据结构,分别是List.Tuple.Dictionary以及Set.大部分的应用程序不需要其他类型的数据结构,但若是真需要也有很多高级数据结构可供选择

Python面向对象编程高级特性

***这里还是根据网上资料,主要是廖雪峰老师的教程学习的笔记,主要介绍python面向对象的高级特性,笔记不全,只是记录自己觉得容易出错的地方*** 1.python作为一种动态语言,他的动态绑定机制允许在运行过程中动态的给class或者对象实例添加方法和属性,这个在静态语言中比如java是很难做到的: 1)动态绑定属性: 2)动态绑定方法 给一个实例绑定的方法对于其他实例和类都是不可见的:(这里也说明给一个实例动态绑定方法必须用MethodType(func, instance)) 但是给类绑

Python的一些高级特性

内容基本上来自于廖雪峰老师的blog相当于自己手打了一遍,加强加强理解吧. http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000 Python的一些高级特性 Slot python是动态语言,所谓动态,就是可以先创建类的实例,之后再动态绑定属性或方法,比如下边这个例子: class Student(object) pass s=Student() s.name="asd" 注

jQuery高级编程

jquery高级编程1.jquery入门2.Javascript基础3.jQuery核心技术4.选择和操作Dom元素5.事件处理6.Html表单,数据和AJAX7.动画和特效jQuery应用8.jQueryUI 更轻松创建web界面9.jQueryUI 鼠标交互10.编写高效的jQuery代码11.jQuery模板12.编写jQuery插件13.使用jQuery Deferred对象,进行高级异步编程14.使用QUnit进行单元测试

运维学python之爬虫高级篇(六)scrapy模拟登陆

上一篇介绍了如何爬取豆瓣TOP250的相关内容,今天我们来模拟登陆GitHub. 1 环境配置 语言:Python 3.6.1 IDE: Pycharm 浏览器:firefox 抓包工具:fiddler 爬虫框架:Scrapy 1.5.0 操作系统:Windows 10 家庭中文版 2 爬取前分析 分析登陆提交信息分析登陆信息我使用的是fiddler,fiddler的使用方法就不作介绍了,大家可以自行搜索,首先我们打开github的登陆页面,输入用户名密码,提交查看fiddler获取的信息,我这

揭秘一线互联网企业 前端JavaScript高级面试

作为前端开发者对JS并不陌生,但真正做到深入理解与高级应用,这正是面试过程中对高级前端工程师岗位的硬性需求,目前也是大多数前端开发者的弱点.本课程把前端JS高级的知识点从起因到原理.进行渐进式讲解,让你顺利拿下前端高级JS面试难题,巧过面试关! 全面解析BAT企业前端JS面试,BAT前端工程师亲授,全网独家视频讲解前端JS高级面试中的各种问题.扩展你的JS知识深度 初级前端也能学 涉及前端高级的知识点从起因到原理,渐进式讲解.为你讲透每个知识点,应聘BAT企业轻而易举 轻松应聘BAT企业的前端高