`
winteen
  • 浏览: 13035 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

[jQuery源码]event.js

阅读更多

event.js为jQuery.fn增加了如下接口:

 

jQuery.fn.extend({
      on: function( types, selector, data, fn, /* INTERNAL */ one ){},
      one: function( types, selector, data, fn ){},
      off: function( types, selector, fn ){},

      bind: function( types, data, fn ){},
      unbind: function( types, fn ){},
      
      live: function( types, data, fn ){},
      die: function( types, fn ){},
      
      delegate: function( selector, types, data, fn ){},
      undelegate: function( selector, types, fn ){},

      trigger: function( type, data ){},
      triggerHandler: function( type, data ){},

      toggle: function( fn ){},
    
      hover: function( fnOver, fnOut ){}
});
 


为实现这些接口,使用的对象和数据结构有:

jQuery.event = {
        add: function( elem, types, handler, data, selector ){},
        global: {},
        remove: function( elem, types, handler, selector, mappedTypes ){},
        customEvent: {},
        trigger: function( event, data, elem, onlyHandlers ){},
        dispatch: function( event ){},
        props: "attrChange ... which",
        fixHooks: {},
        keyHooks: {},
        mouseHooks: {},
        fix: function( event ){},
        special: {},
        simulate: function( type, elem, event, bubble ){}

};
jQuery.Event = function(){};
jQuery._data = function(){};
 

核心套路为:

 

jQuery.event = {
    add: function(){},
    dispatch: function() {}
};
 

 

为了处理特殊事件和兼容性考虑,引入的特殊数据结构有:

jQuery.event.special = {};

 
special主要在以下代码流程中起作用:

 

jQuery.event = {
    add: function(){},
};
 

总结:

 

分享到:
评论

相关推荐

    jquery.countdown.js自定义倒计时代码.zip

    主要文件`jquery.countdown.js`是实现倒计时功能的核心代码,开发者可以通过阅读源码理解其工作原理。 3. `img`目录:可能包含了一些与示例页面相关的图片资源,用于美化倒计时的视觉效果。 4. `css`目录:包含了CSS...

    实现google那种拖拉效果 jquery.easywidgets.js实例

    在本文中,我们将深入探讨如何实现类似于Google那样的拖放效果,使用的是jQuery库的一个扩展插件——jquery.easywidgets.js。这个插件为开发者提供了一种简单的方法来创建具有交互性的拖放功能,使得用户界面更加...

    jquery-1.3.2.min.js

    - **jQuery源码阅读**:理解.min.js背后的源码逻辑,有助于深入学习JavaScript和前端开发。 总之,jQuery 1.3.2.min.js作为一款经典的JavaScript库,不仅简化了DOM操作,还带来了丰富的动画效果和便捷的AJAX功能,...

    自动补全-jquery.autocomplete.js

    《自动补全-jquery.autocomplete.js》 在Web开发中,自动补全功能是一种非常实用且常见的用户体验优化手段。它通常被应用于搜索框、表单输入等场景,能够帮助用户快速找到并选择他们想要的选项,提高输入效率。在...

    jquery-form.js

    jQuery Form Plugin是一款强大的JavaScript库,专为了解决使用jQuery进行异步表单提交(Ajax Form Submission)和文件上传的问题。它通过扩展jQuery的功能,使得处理复杂的表单交互变得更加简单、直观。在本文中,...

    Jquery结合colorpicker.js插件实现的颜色选择器特效源码.zip

    在本文中,我们将深入探讨如何使用jQuery库与colorpicker.js插件来实现一个高效且用户友好的颜色选择器效果。jQuery是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理和动画创建等任务。而colorpicker.js是...

    jquery.easyUI.1.1.2 源码 .rar

    在这个"jquery.easyUI.1.1.2 源码 .rar"压缩包中,我们主要关注的是核心文件 "jquery.easyUI.1.1.2.js",这是一个包含了 EasyUI 全部功能的 JavaScript 文件。本文将深入探讨这个版本的源码,解析其关键组件和原理,...

    JQuery.js 源码(1.1 和2.x)

    JQuery.js 是一款广泛使用的JavaScript库,它极大地简化了网页上的DOM操作、事件处理、动画制作以及Ajax交互。本资源提供了JQuery 1.1和2.x版本的源码,对于开发者来说,深入理解这些源码有助于提升JavaScript编程...

    jquery-3.1.1.zip

    在"jquery-3.1.1"这个压缩包中,包含了该版本的完整源码和可能的文档。 1. **选择器**:jQuery以其强大的选择器功能著称,如"$('div')”可以选取页面上所有的div元素。它支持CSS1到CSS3的选择器,并提供了如":first...

    Jquery-master.zip

    "jQuery-master.zip"这个压缩包包含了一个完整的jQuery源码库,旨在帮助开发者快速理解和使用jQuery的各种功能,尤其是提交表单(submit)事件的处理。 jQuery的核心特性包括选择器、DOM操作、事件绑定、动画效果...

    jQuery highcharts.js柱形统计图插件特效源码.zip

    《jQuery与Highcharts.js结合实现柱状统计图插件特效详解》 在现代网页开发中,数据可视化是一项至关重要的任务,能够帮助用户更好地理解和解析复杂的数据。jQuery作为一款广泛使用的JavaScript库,为开发者提供了...

    前端项目-jquery-steps.zip

    【前端项目-jquery-steps.zip】是一个包含前端开发中使用的jQuery插件——jQuery Steps的源码包。这个插件主要用于创建功能丰富的向导或步骤式界面,为用户提供一种引导性的交互体验。它不仅具备基本的步骤导航功能...

    jquery-2.0.3.min.js.pdf

    接下来的代码是压缩后的JavaScript代码,包含了jQuery的核心实现,由于是压缩版,直接阅读理解较为困难,通常会在开发环境中引用未压缩的源码。 `x.fn.init`是jQuery构造函数的初始化方法,用于创建jQuery对象。`x....

    prototype.js jquery.js 打包下载(包含各自的API)

    JavaScript是Web开发中不可或缺的一部分,而Prototype和jQuery是两种非常流行的JavaScript库,它们极大地简化了DOM操作、事件处理和动画效果。本压缩包包含了这两个框架的源码和API文档,对于学习和理解JavaScript...

    jquery-3.3.1.min.zip

    《jQuery 3.3.1.min.js:JavaScript库的核心精华》 jQuery,作为一款功能强大的JavaScript库,自2006年发布以来,一直深受Web开发者喜爱。它简化了HTML文档遍历、事件处理、动画制作以及Ajax交互等多个方面的工作,...

    Node.js实现聊天室功能

    Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它以其异步、事件驱动的非阻塞I/O模型而闻名,非常适合构建高性能的网络应用,如聊天室。 首先,让我们了解Node.js的核心概念。Node.js使用事件循环来处理...

    倒计时 jquery countdown

    jQuery Countdown是一款基于JavaScript库jQuery的插件,它为开发者提供了便捷的方式来实现美观且功能丰富的倒计时功能。这个插件不仅支持多种样式,而且易于定制,使得网页的倒计时效果既实用又具有吸引力。 jQuery...

    js jquery无刷新上传插件及实现源码 两种uploadFile 和Uploadify

    1. 引入`jQuery`和`uploadFile`插件的CSS及JS文件。 2. 创建一个HTML元素作为上传按钮,设置`data-url`属性为服务器端处理文件的接口地址。 3. 初始化`uploadFile`,设置相关参数如文件类型限制、最大上传文件大小等...

Global site tag (gtag.js) - Google Analytics