標籤:isp default family hand 監聽 handler page ppp div
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事件模組