jquery事件模型

  大多数工具类都会提供标准入口和快捷方式,jquery事件模型也不例外

jquery1.0标准入口

属于jquery工具方法,通过$.event可查看

一个标准的事件大致就会经历这样的流程

如果对事件的传播进一步进行代理就还需要一个fix,重新制作代理以及取消默认行为

jquery1.0快捷入口

通过初始化方式,将标准工具方法,转换为实例方法而后

再一次产生更加快捷的方法,至此,通过jquery实例方法有2中调用方式

1.$().bind(type,fn)

2.$().onclick(fn)

在1.0中,jquery事件通过dom进行fns的缓存而非闭包,dom会被无数次的遍历,而且难以被删除(内存溢出),总之,它被证明不是一种高效的方式

jquery1.9标准入口

除了解决性能问题外,jquery不断的吸取各种新鲜的概念比如代理,统一接口,开关...

live与die(jquery1.3)-->利用传播性质,进行事件的代理(绑定在document)

delegate与undelegate(1.42)-->允许制定代理对象(live与die的增强封装)

on与off(jquery1.7)-->统一事件接口(取代bind,live,one,delegate)

其他...

时间: 2024-10-13 15:05:52

jquery事件模型的相关文章

07-jquery事件模型

jquery事件模型: dom0级事件模型: 阻止冒泡:event.stopPropagation(); 阻止冒泡:event.cancelBubble = true; 只支持一个事件处理函数: dom2级事件模型: addEventListener(eventType) addEventListener(listener) addEventListener(useCapture):如果为false,只冒泡不捕获,如果为true,只捕获,不冒泡. attachEvent(eventName,ha

jQuery的事件模型

前几天自己着重读了jQuery1.11.1的源码,又结合了之前对DE事件模型的分析,最后也实现一个简陋的事件模型. jQuery的事件系统离不开jQuery的缓存系统. jQuery的第一代缓存是直接将数据存储在 缓存体 这个数据结构中,但是需要在 元素上添加一个uuid来作为标示,标记在缓存体中的位置.但是仔细想想,就会发现,如果对window或者document进行事件 侦听,就会在这两个对象上添加额外属性,会造成全局污染,不是很好. 所以jQuery第二代缓存系统应运而生,这次不对元素进行

DOM事件模型学习笔记

下面的内容属于阅读笔记,其中涉及大量内容来自于PPK的博客的内容,如果你要跟随我的脚步领略大家风采,那么就从Introduction to Events开始阅读吧. 现代的前端开发应该是会严格遵守 html 展示文档内容构成,css 渲染页面效果,javascript 提供交互 浏览器提供交互行为可以追溯到Netscape公司在其第二个版本中支持javascript语言,随后其与微软之间的浏览器大战,以及w3c标准制定的落后,导致至今一直被诟病的浏览器兼容问题,而这些不兼容中关于DOM事件模型的

ExtJS框架基础:事件模型及其常用功能

前言 工作中用ExtJS有一段时间了,Ext丰富的UI组件大大的提高了开发B/S应用的效率.虽然近期工作中天天都用到ExtJS,但很少对ExtJS框架原理性的东西进行过深入学习,这两天花了些时间学习了下.我并不推荐大家去研究ExtJS框架的源码,虽然可以学习其中的思想和原理,但太浪费精力了,除非你要自己写框架. 对于ExtJS这种框架,非遇到"杂症"的时候我觉得也没必要去研究其源码和底层的原理,对其一些机制大致有个概念,懂得怎么用就行,这也是本篇博文的主要目的. Ext自己的事件机制

JS的事件模型

之前对事件模型还是比较清楚的,许多概念都清晰映射在脑海中.工作之后,一方面使用的 局限性,二是习惯于用框架中的各种事件监听方式,简单即方便,久而久之,事件的一些概念开 始淡出记忆中,就像我现在已经开始淡忘C语言的指针.麦克斯韦方程组.矩阵的变换.最小二乘 法等.知识就像五彩缤纷的鹅卵石铺垫在你前行的道路上,从简单到深刻,从深刻到领悟,一直 助你渐行渐远.回头看看事件模型呗. 一.事件简简介事件包括:鼠标事件键盘事件框架事件 onerror onresize onscroll等表单事件事件 onb

jQuery事件传播,事件流

一. jQuery事件传播 在DOM2级事件模型中,一旦事件被触发.事件流首先从DOM树顶部(文档节点)向下传播.直到目标节点.然后再从目标节点向上传播到DOM树顶.从上到下的过程被称为捕获阶段.从下到上的过程被称为冒泡阶段. 利用循环体结构分别为button元素及其全部父级节点注冊一个捕获型鼠标单击类事件处理函数. 代码演示样例: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q

Javascript事件模型系列(一)事件及事件的三种模型

转载: http://www.cnblogs.com/lvdabao/p/3265870.html 一.开篇 在学习javascript之初,就在网上看过不少介绍javascript事件的文章,毕竟是js基础中的基础,文章零零散散有不少,但遗憾的是没有看到比较全面的系列文章.犹记得去年这个时候,参加百度的实习生面试,被问到事件模型,当时被问的一头雾水,平时敲onclick敲的挺爽,却没有关注到事件模型的整体概念.这个周末难得清闲,决定就javascript中的事件模型写个系列,算是对知识点的一个

由 preventDefault()方法 复习jQuery 事件方法

今天看到了 preventDefault() 方法,就复习了一下jQuery 事件方法,记下随记 jQuery 参考手册 - 事件 事件方法会触发匹配元素的事件,或将函数绑定到所有匹配元素的某个事件. 触发实例: $("button#demo").click() 上面的例子将触发 id="demo" 的 button 元素的 click 事件. 绑定实例: $("button#demo").click(function(){$("img

仅用原生JavaScript手写DOM事件模型

前言 前段时间博客园里有篇很火的帖子2016十家公司前端面试小记,主要讲作者的前端求职面试经历,其中提到了面试官会考察手写一个简单的事件模型: "如果上述都ok的话,那么极有可能要求让你[实现事件模型],即写一个类或是一个模块,有两个函数,一个bind一个trigger,分别实现绑定事件和触发事件,核心需求就是可以对某一个事件名称绑定多个事件响应函数,然后触发这个事件名称时,依次按绑定顺序触发相应的响应函数." 如果了解观察者模式,那么事件模型应该不算太难.本着深入钻研的精神,我试着来