jQuery源代码学习之九—jQuery事件模块

Posted 初学者学习笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery源代码学习之九—jQuery事件模块相关的知识,希望对你有一定的参考价值。

jQuery事件系统并没有将事件坚挺函数直接绑定在DOM元素上,而是基于事件缓存模块来管理监听函数的。

二、jQuery事件模块的代码结构

 

   //定义了一些正则
    //
    //
    //jQuery事件对象
    jQuery.event={
        global:{},
        add:function(elem,types,handle,data,selector){},
        remove:function(elem,types,handler,selector,mapppedTypes){},
        trigger:function(event,data,elem,onlyHandlers){},
        dispatch:function(event){},
        handlers:function(event,handlers){},
        props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
        fixHooks:{},
        keyHooks:{
            props: "char charCode key keyCode".split(" "),
            filter:function(event,original){}
        },
        mouseHooks:{
            props: "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
            filter:function(event,original){},
        },
        fix:function(event){},
        special:{
            load:{},
            focus:{
                trigger:function(){},
                delegateType:‘‘,
            },
            blur:{
                trigger:function(){},
                delegateType:‘‘,
            }
            click:{
                trigger:function(){},
                _default:function(event){}
            }
            beforeunload:{
              postDispatch:function(event){},  
            }
            simulate:function(type,elem,event,bubble){}

        },

    };
    jQuery.removeEvent=function(elem,type,handler){};
    jQuery.Event=function(src,props){};
    jQuery.Event.prototype={
        isDefaultPrevented:,
        isPropagationStopped:,
        isImmediatePropagationStopped:,
        preventDefault:function(){},
        stopPropagation:function(){},
        stopImmediatePropagation:function(){},
    };
    jQuery.fn.extend({
        on:function(types,selector,data,fn,one){},
        one:function(types,selector,data,fn){},
        off:function(types,selector,fn){},
        trigger:function(type,data){},
        triggerHandler:function(type,data){}
    });
    

 

以上是关于jQuery源代码学习之九—jQuery事件模块的主要内容,如果未能解决你的问题,请参考以下文章

jQuery学习之jQuery Ajax用法详解

JavaScript入门学习之四——JQuery入门

jQuery源代码学习之六——jQuery数据缓存Data

Jquer学习之jQuery(function(){})与(function(){})(jQuery)之间的区别

jquery学习之初始化和获取值

JQUERY插件学习之jQuery UI