首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

jQuery中on()、bind()、live()、delegate()之间区别

jQuery.on()、.bind()、.live()和.delegate()之间区别并非总是那么明显,然而,如果我们对所有的不同之处都有清晰理解的话,那么这将会有助于我们编写出更加简洁代码,...及其以上版本;jquery1.7版本出现之后用于替代bind(),live()绑定事件方式; event 必需项;添加到元素一个或多个事件,例如 click,dblclick等; 单事件处理:例如...你可以在document ready之前就可以绑定那些需要事件 缺点 从1.7开始已经不被推荐,所以你也要开始逐步淘汰它。...而和.live()相同地方在于都是用event delegation; 优点 你可以选择把事件绑定到对应元素上 chaining被正确支持 jQuery仍然需要迭代查找所有的selector/event...4 .on() .on()则是最新1.9版本整合之前三种方式事件绑定机制。.

1.2K30

jQuery事件模型

前几天自己着重读了jQuery1.11.1源码,又结合之前对DE事件模型分析,最后也实现一个简陋事件模型。 jQuery事件系统离不开jQuery缓存系统。...jQuery第一代缓存是直接将数据存储在 缓存体 这个数据结构中,但是需要在元素上添加一个uuid来作为标示, 标记在缓存体中位置。...所以jQuery第二代缓存系统应运而生,这次不对元素进行添加属性,而是判断元素valueOf()方法返回值,如果没有返回值是 对象,则说明缓存体中并没有该元素缓存数据,进而使用ECMA5Object.defineProperty...简单讲述缓存系统,现在着重讲解下jQuery事件系统: 主要使用了几个数据结构,即元素缓存体,Event构造函数,和Handler构造函数。   ...其次就是对fn封装,在库中,fn包装函数 实现事件对象创建,以及对新创建事件对象修补,并调整了在回调中this指向。

93380

jquery事件&动画

一、事件 在1.7之前版本中jQuery处理事件有多个方法, (google 搜索: jquery live bind degelate)作用各不相同,后来统一使用on/off方法 1、.on( events...click", "click.name1", 或者 ".myname" 参数2selector:一个选择器字符串,用于过滤和选中能触发事件后代元素 参数3data:当一个事件被触发时,要传递给事件处理函数...,所谓命名空间就相当于给这个事件命名,我删除事件时候就只删除对应这个,不会误伤这个事件类型其他事件 $('.box li').on('click.hello', function(){ var...jQuery提供"linear(线性)" 和 "swing(旋转)" 参数3:完成后执行函数 $('.target').hide(); $('#book').hide(300, 'linear',...,jquery提供自定义动画行为方法 1、.animate( properties [, duration ] [, easing ] [, complete ] ) 官方文档 参数一:properties

1.7K20

jQuery:详解jQuery事件(一)

当文档或者它某些元素发生某些变化或操作时,浏览器就会自动生成一个事件。当然使用传统JavaScript也能完成这些交互,但是jQuery增加兵扩展基本事件处理机制。...jQuery不仅提供更加优雅事件处理语法,而且极大增强了事件处理能力。   ...一、jQuery事件   1、加载DOM:   执行时机:在常规JavaScript中,通常使用window.onload方法,而在jQuery中,使用是$(document).ready()方法...例如与图片相关HTML下载完毕,并且已经解析为DOM树,但是很有可能图片还未完全加载,所以例如图片高度和宽度等属性就不一定有效。   ...明天继续完成jQuery事件下半部分,包括内容有合成事件事件冒泡、移除事件等内容。

1.6K20

jQuery:详解jQuery事件(二)

上一篇讲到jQuery事件,深入学习加载DOM和事件绑定相关知识,这篇主要深入讨论jQuery事件合成事件事件冒泡和事件移除等内容。   ...接上篇jQuery:详解jQuery事件(一)   3、合成事件   jQuery有两个合成事件——hover()方法和toggle()方法,同ready()方法一样,这些都是jQuery自定义方法...就上面的简单描述,已经可以看出问题所在,那就是会出现意想不到click事件,所以需要对事件作用范围进行限制。   jQuery有三种办法可以解决事件冒泡导致问题。...在jQuery中提供stopPropagation()方法来停止事件冒泡。...所以,移除事件就涉及两种情况下移出,一种是移除之前注册所有事件,而是移除其中一个事件。以一个按钮为例:假设网页中有一个id为btn按钮,其上绑定几个click事件

2.2K30

jquery 事件绑定及取消 bind live delegate on one区别 (超详细且通俗易懂)

最简单写法 绑定单个事件执行事件函数, $("p").bind("click",function(){ alert("这个段落被点击。")...需要使用addEventListener方法添加事件jquery则不会 它会全部执行,两者都是同时执行,并不是按顺序一一执行。...和bind方法有两个不同 1.没有map不能单独规定事件 2.live方法绑定事件会应用于当前现有的元素以及未来元素,也就是事件委托机制,把节点处理统一委托给根节点document,所以后面动态添加新节点同样会有相同事件...$("button").live("click",function(){ $("p").slideToggle(); //给所有的p节点添加了收缩事件,包括动态添加p标签 }); 注:使用live...这个方法就相当于加强版live()方法,由于live方法事件委托会直接委托在根节点上,费时费力, 于是就有delegate()方法,它可以选择委托范围,就是给selector父节点内所有childSelector

2.4K20

JQuery属性操作及事件

(不会更改DOM结构),但是该属性是存在,且可以获取输出②attr():在元素本身是可以看到设置属性,也可以获取输出二、遍历操作1、区别(1)隐式迭代:给同一类元素做同样操作(2)遍历操作:给同一类元素做不同事情...(jQuery 事件 | 菜鸟教程)1、单个事件注册element.事件(fuction(){})(1).hover:模仿鼠标悬停事件(2)参数        ①函数1:鼠标移上去触发什么事件        ...②函数2:鼠标离开触发什么事件 $('button').on('click...('仅一次');})5、自动触发事件$('button').click()五、插件jQuery插件库-收集最全最新最好jQuery插件小伙伴可以在这个网站找喜欢作品,下载压缩包后,可以直接看效果,而且都有源码

1.7K70

JQuery 对控件事件操作

对于控件事件jQuery已经提供丰富方法,包括绑定、一次绑定、触发等,阿拉今早看看叫一哪能用额伐,大虾路古就可以。...jQuery绑定事件非常方便,有bind、live、one还有它帮你把一些常用事件给单独出来,比如控件onclick事件,我们绑定onclick事件时候只需要 $("#testButton")...我这里取消了绑定,又删除了特定绑定,为什么还会执行Eat呢? 其中原由要看jQuery类库,我估计它只删除了通过JQuery绑定那些事件,呵呵。 那这时候我们该如何呢?...好在jQuery有很多方法,其中一个就是attr,他是对Dom元素属性进行操作,我们利用attr来消除input上click事件。...其实jQuery在绑定事件上还存在很多bug,大家可以稍微修改下上面的效果就会知道,比如自动执行,绑定失败等,呵呵。 http:/inday.cnblogs.com

1.8K60

jQuery键盘事件应用【jQuery框架应用入门13】

键盘按键事件主要分为键盘按下过程和键盘弹起过程。常见键盘事件如表5-4所示。...表5-4键盘按键事件 键盘事件 说 明 keydown 当键盘按下时第一个发生事件,对所有按键有效 keypress 当键盘按下时第二个发生事件,对中文和特殊按键无效 keyup 当键盘弹起时发生事件...对整个页面上下文分别做了三个键盘事件绑定,先打开chrome浏览器console窗体,然后在文本框中随意输入一个英文字母或数字时,就可以看到这个在三个键盘事件执行顺序,如图5-14所示。...图5-15按下中文按键测试 在jQuery中,如果你要获取键盘输入是什么按键,那么可以利用事件参数which属性即可(event.which)。...a,此时在console窗体中keydown事件中显示却是大写字母A对应ascii码值65,而在keypress事件中显示是正确小写字母a对应ascii码97。

11610

JavaScript 事件委托 以及jQuery事件委托支持

可以看出,使用事件委托,可以简化了事件处理逻辑,避免了多余事件处理函数,进而节约一定内存。    ...jquery事件委托支持 在jQuery里对事件委托支持,有以下几个函数: ?...jQuery还有另外一种方式:将元素事件处理委托给DOM根节点来处理,这种方式是live()方式: live(type, [data], fn) type   : 事件类型 data :附加额外数据...从元素中删除先前用.live()绑定所有事件.(此方法与live正好完全相反。)如果不带参数,则所有绑定live事件都会被移除。...与live() 相对应,取消绑定,则用下列代码: $("p").die(); 在事件绑定上,jQuery 提供一种更通用函数: on(events,[selector],[data],fn)

79760

jQuery 事件(三) 事件绑定和解绑、对象使用、自定义事件

,要传递给事件处理函数 on()高级用法 on()事件委托机制 .on( events ,[ selector ] ,[ data ], handler(eventObject) ) 在on第二参数中提供一个...如果提供第二参数,那么事件在往上冒泡过程中遇到了选择器匹配元素,将会触发事件回调函数 卸载事件off()方法 通过.on()绑定事件处理程序 通过off() 方法移除该绑定 根据on绑定事件一些特性...jQuery根据 W3C 标准规范了事件对象,所以在jQuery事件回调方法中获取到事件对象是经过兼容后处理过一个标准跨浏览器对象 ...因为li都有一个共同父元素,而且所有的事件都是一致,这里我们可以采用要一个技巧来处理,也是常说事件委托” 事件没直接和li元素发生关系,而且绑定父元素。...正常来说是不可以,但是jQuery解决这个问题,提供一个trigger方法来触发浏览器事件 $('#elem').trigger('click'); //在绑定on事件元素上,通过trigger

4K30

JQuery几个mouse事件区别和用法

jQuery常用Mouse事件有7种,分别是: mouseup:鼠标在元素上松开时触发 mouseup 事件。与 click 不同,只要鼠标在元素上松开即触发。...mouseout:鼠标在元素上移开时触发 mouseout 事件。 mouseleave:鼠标在元素上移开时触发 mouseleave 事件。...但是今天在写一个QQ在线客服插件时出现问题,我写了一个 0.3秒 动画效果,鼠标划入显示,划出隐藏,鼠标在上面移动时,插件不停地显示隐藏好多次。...原来这两个组合是由区别的,一个单独元素时效果几乎是一样,问题就在于它们子元素。...            $('.seven').mouseleave(function(){                 console.log(777);             })         }) 点击事件就不演示

2.5K00
领券