首页
学习
活动
专区
圈层
工具
发布

jQuery的事件模型

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

1.2K80
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    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

    2.7K20

    jQuery:详解jQuery中的事件(一)

    现在就一点一点积累自己的知识体系,记录自己学到的和自己所理解的jQuery。   JavaScript和HTML之间的交互式通过用户和浏览器操作页面时引发的事件机制来处理的。...当文档或者它的某些元素发生某些变化或操作时,浏览器就会自动生成一个事件。当然使用传统的JavaScript也能完成这些交互,但是jQuery增加兵扩展了基本的事件处理机制。...jQuery不仅提供了更加优雅的事件处理语法,而且极大的增强了事件处理能力。   ...一、jQuery中的事件   1、加载DOM:   执行时机:在常规的JavaScript中,通常使用window.onload方法,而在jQuery中,使用的是$(document).ready()方法...明天继续完成jQuery事件的下半部分,包括的内容有合成事件、事件冒泡、移除事件等内容。

    2.8K20

    jQuery:详解jQuery中的事件(二)

    上一篇讲到jQuery中的事件,深入学习了加载DOM和事件绑定的相关知识,这篇主要深入讨论jQuery事件中的合成事件、事件冒泡和事件移除等内容。   ...接上篇jQuery:详解jQuery中的事件(一)   3、合成事件   jQuery有两个合成事件——hover()方法和toggle()方法,同ready()方法一样,这些都是jQuery自定义的方法...*这里要注意的一点是,jQuery的hover()方法准确来说是替代jQUery中的bind("mouseenter")和bind("mouseleave"),而不是替代bind("mouseover"...就上面的简单描述,已经可以看出问题所在了,那就是会出现意想不到的click事件,所以需要对事件作用范围进行限制。   jQuery有三种办法可以解决事件冒泡导致的问题。...在jQuery中提供了stopPropagation()方法来停止事件冒泡。

    3.6K30

    JQuery 对控件的事件操作

    对于控件的事件,jQuery已经提供了丰富的方法,包括绑定、一次绑定、触发等,阿拉今早看看叫一哪能用额伐,大虾路古就可以了。...jQuery的绑定事件非常方便,有bind、live、one还有它帮你把一些常用的事件给单独了出来,比如控件的onclick事件,我们绑定onclick事件的时候只需要 $("#testButton")...jQuery有unbind的方法,专门来取消绑定的,也就是取消事件,按照上面的例子的话,应该使用: $("#testButton").unbind("click"); 恩,看上去非常好,如果你的...我这里取消了绑定,又删除了特定的绑定,为什么还会执行Eat呢? 其中的原由要看jQuery的类库了,我估计它只删除了通过JQuery绑定的那些事件了,呵呵。 那这时候我们该如何呢?...好在jQuery有很多方法,其中一个就是attr,他是对Dom元素的属性进行操作,我们利用attr来消除input上的click事件。

    2.3K60

    JQuery的属性操作及事件

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

    2.2K70

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

    键盘按键事件主要分为键盘的按下过程和键盘的弹起过程。常见键盘事件如表5-4所示。...表5-4键盘按键事件 键盘事件 说 明 keydown 当键盘按下时第一个发生的事件,对所有按键有效 keypress 当键盘按下时第二个发生的事件,对中文和特殊按键无效 keyup 当键盘弹起时发生的事件...图5-15按下中文按键测试 在jQuery中,如果你要获取键盘输入的是什么按键,那么可以利用事件参数的which属性即可(event.which)。...现在在keydown和keypress事件中都增加一条代码console.log(event.which)用来在console窗体输出按键的结果,在输出前先保持大小写按键为小写字母模式,然后在文本框中输入小写字母...图5-16测试按下字母 总结现象得到,当开发人员要求获取键盘输入的按键大小写敏感或输入中文时,要特别注意对按键事件的筛选。

    69110

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

    jQuery on()方法是官方推荐的绑定事件的一个方法 基本用法:.on( events ,[ selector ] ,[ data ] ) 最常见的给元素绑定一个点击事件,对比一下快捷方式与on...() 事件对象的使用 jQuery事件对象的作用 标准的”click”点击事件 $(elem).on("click",function(event){ event //事件对象 }) 在不同浏览器之间事件对象的获取...jQuery根据 W3C 标准规范了事件对象,所以在jQuery事件回调方法中获取到的事件对象是经过兼容后处理过的一个标准的跨浏览器对象 ...}) jQuery事件对象的属性和方法 event.type:获取事件的类型 触发元素的事件类型 $("a").click(function...尽管 .trigger() 模拟事件对象,但是它并没有完美的复制自然发生的事件,若要触发通过 jQuery 绑定的事件处理函数,而不触发原生的事件,使用.triggerHandler() 来代替 triggerHandler

    4.9K30

    jQuery源码解析之click()的事件绑定

    而下到达目标节点的过程中,浏览器会检测 针对该事件的 监听器(用来捕获事件),并运行捕获事件的监听器。...,浏览器会检测不是 针对该事件的 监听器(用来捕获事件),并运行非捕获事件的监听器。...() 作用: 在被选元素及子元素上添加一个或多个事件处理程序 源码: //绑定事件的方法 //源码5812行 jQuery.fn.extend( { //在被选元素及子元素上添加一个或多个事件处理程序...事件,也就是说,click()/on() 的本质是 element.addEventListener() 事件,前面一系列的铺垫,都是在为目标 jQuery 对象添加必要的属性。...:\.(.+)|)/; 综上,绑定事件的本质即调用element.addEventListener()方法,但 jQuery 有太多的情况需要考虑了。 (完)

    2.4K20

    影创SDK☀️七、讲讲获取SDK按键事件的几种方式

    物体响应交互事件 描述: 有时,我们会需要规定某物体,当射线进入、移出, 或是点击时,进行某些动作。 那该条交互方式适合你。...1、配置要交互的物体 给要交互的物体挂载Collider 2、配置合适的脚本 给该物体赋值如下内容的脚本,书写你的代码即可: 引用 SC.XR.Unity.Module_InputSystem 继承...该方法支持的事件有: 进入 移出 按下 点击 抬起 拖拽 注册监听按键事件 描述: 有时,我们会要检测某些按键按下,或抬起的动作。并想做成注册事件的形式。当某按键发生想要的交互时,调用自己的方法。...注册按键事件代码: private void Start() { //这儿举例 按键抬起 事件 DispatcherBase.KeyUpDelegateRegister...描述: 有时,我们会在某一刻,检测某按键的状态是如何,得到状态值。

    20110
    领券