无事来学学--JQuery详细讲解(下)

简介: jQuery事件jQuery事件注册

jQuery事件


jQuery事件注册

●   单个事件注册--> element.事件(function( ){ } )

●   如:$("div").click(function( ){ })

●   其他事件基本与原生js一致,如mouseover,mouseout,blur,focus,keydown,keyup,resize,scroll,change等


jQuery事件处理

●   on( )方法在匹配元素上绑定一个或者多个事件

●   语法:element.on("events", ["selector"], fn)

●   events-->一个或多个用空格分隔的事件类型,以 对象 的形式写入

网络异常,图片无法展示
|


●   当事件处理程序相同时,用空格将事件类型隔开

网络异常,图片无法展示
|

●   selector-->子选择器

●   on()方法可以实现事件委派操作。事件委派就是:把原来加在子元素身上的事件绑定在父元素身上,就是把事件委派给父元素(由于存在事件冒泡,给父元素绑定事件,在子元素上进行某种操作会冒泡到父元素上,进而出发事件)

网络异常,图片无法展示
|


●   上面的方法会通过隐式迭代,给每一个li都绑定事件,比较麻烦;下面通过on( )方法,将事件绑定在ul上,但是触发事件的是li

●   on( )方法可以给动态创建的元素绑定事件,click()方法则不行

●   直接通过ol li来绑定click事件,并不能触发;但是通过on( )方法就可以给动态创建的元素绑定事件

网络异常,图片无法展示
|


●   off( )方法解绑事件(off方法可以移除通过on方法添加的事件)

●   $("选择器").off( ) 若参数为空,则会把所匹配的选择器的所有事件都移除

●   $("选择器").off("事件名称")  移除匹配元素的指定事件

●   解除事件委托--> $("父元素选择器").off("事件名称", "子元素选择器")

●   one( )方法绑定一次性事件

●   有的事件只想要触发一次,则可以用one( )绑定事件

●   trigger( )自动触发事件

●   1、$("选择器").事件名称( );

●   2、$("选择器").trigger(“事件名称”)

●   3、$("选择器").triggerHandler(“事件名称”)

●   区别于1和2,3不会触发元素的默认行为


jQuery事件对象


只要有事件被触发,就会产生事件对象

element.on("event", ["selector"], fn(e){ })     e就是事件对象


事件对象有很多方法

●   阻止默认行为:e.preventDefault()  或者return false

●   阻止冒泡:e.stopPropagation()

●   因为事件冒泡,在点击div后,会触发两个点击事件

网络异常,图片无法展示
|


●   这部分跟Web API的类似,可以看看复习那一块


7、jQuery其他方法


jQuery对象拷贝extend(把一个对象拷贝给另一个对象)

●   $.extend([deep],target, object1, objectN)

网络异常,图片无法展示
|


deep的值若为true,则为深拷贝。默认是false浅拷贝

浅拷贝:会把被拷贝对象的  复杂数据类型中的地址  拷贝给目标对象,修改目标对象会影响被拷贝对象

网络异常,图片无法展示
|


深拷贝:是完全克隆,拷贝的是对象,而不是地址。修改目标对象不会影响被拷贝对象的  (目标对象中原有的msg对象与被拷贝对象有冲突,但是拷贝时不会覆盖,而是保留了原有的属性和值,在内存中开辟了另一块空间来存储)

网络异常,图片无法展示
|


●   target 目标对象(等待接收拷贝对象的对象)

●   object等待被拷贝的对象

●   注意:这个方法会把与原来对象中有冲突的属性覆盖掉


jQuery多库共存


●   问题所在:jQuery使用作为标识符,而其他js库也可能会使用作为标识符,而其他js库也可能会使用js使作为标识符,这样就会引起冲突。让jQuery和其他js库同时存在不冲突就是多库共存

●   1、如果$有冲突,我们就改用jQuery

●   2、释放的控制权,让用户自己决定用什么变量代替的控制权,让用户自己决定用什么变量代替

●   $.noConflict( )或者jQuery.noConflict( )

●   var xx = $.noConflict( )

目录
相关文章
|
JavaScript
|
存储 JavaScript 前端开发
无事来学学--JQuery详细讲解(上)
jQuery详细讲解(上)
114 0
|
6月前
|
JavaScript 前端开发
百叶窗效果的jQuery幻灯片插件
百叶窗效果的jQuery幻灯片插件
|
6月前
|
JavaScript
jquery无限循环内容滑块插件
jquery无限循环内容滑块插件
|
6月前
|
JavaScript
简单轻量级的jquery图表插件
简单轻量级的jquery图表插件
|
6月前
|
JavaScript
jQuery响应式内容选项卡插件
jQuery响应式内容选项卡插件
|
6月前
|
JavaScript 前端开发
带完成百分比的jQuery表单插件
带完成百分比的jQuery表单插件
|
6月前
|
JavaScript 内存技术
支持多种动画特效的响应式jQuery幻灯片插件
支持多种动画特效的响应式jQuery幻灯片插件
|
8月前
jQuery+Slick插件实现游戏人物轮播展示切换源码
jQuery+Slick插件实现游戏人物轮播展示切换源码
106 14
|
9月前
|
JavaScript 前端开发
jQuery和CSS3滑动展开菜单按钮插件
这是一款jQuery和CSS3滑动展开菜单按钮插件。该滑动展开菜单按钮在用户点击主菜单按钮之后,子菜单以滑动的方式依次展开
124 21