⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 event.js

📁 这是一个ajax的例子大家好好的看看就是一个鱼眼的效果
💻 JS
📖 第 1 页 / 共 2 页
字号:
if(!dojo._hasResource["dojo._base.event"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.dojo._hasResource["dojo._base.event"] = true;dojo.provide("dojo._base.event");dojo.require("dojo._base.connect");// this file courtesy of the TurboAjax Group, licensed under a Dojo CLA(function(){	// DOM event listener machinery	var del = (dojo._event_listener = {		add: function(/*DOMNode*/node, /*String*/name, /*Function*/fp){			if(!node){return;} 			name = del._normalizeEventName(name);			fp = del._fixCallback(name, fp);			var oname = name;			if(!dojo.isIE && (name == "mouseenter" || name == "mouseleave")){				var ofp = fp;				//oname = name;				name = (name == "mouseenter") ? "mouseover" : "mouseout";				fp = function(e){					// thanks ben!					if(!dojo.isDescendant(e.relatedTarget, node)){						// e.type = oname; // FIXME: doesn't take? SJM: event.type is generally immutable.						return ofp.call(this, e); 					}				}			}			node.addEventListener(name, fp, false);			return fp; /*Handle*/		},		remove: function(/*DOMNode*/node, /*String*/event, /*Handle*/handle){			// summary:			//		clobbers the listener from the node			// node:			//		DOM node to attach the event to			// event:			//		the name of the handler to remove the function from			// handle:			//		the handle returned from add			if (node){				node.removeEventListener(del._normalizeEventName(event), handle, false);			}		},		_normalizeEventName: function(/*String*/name){			// Generally, name should be lower case, unless it is special			// somehow (e.g. a Mozilla DOM event).			// Remove 'on'.			return name.slice(0,2) =="on" ? name.slice(2) : name;		},		_fixCallback: function(/*String*/name, fp){			// By default, we only invoke _fixEvent for 'keypress'			// If code is added to _fixEvent for other events, we have			// to revisit this optimization.			// This also applies to _fixEvent overrides for Safari and Opera			// below.			return name != "keypress" ? fp : function(e){ return fp.call(this, del._fixEvent(e, this)); };		},		_fixEvent: function(evt, sender){			// _fixCallback only attaches us to keypress.			// Switch on evt.type anyway because we might 			// be called directly from dojo.fixEvent.			switch(evt.type){				case "keypress":					del._setKeyChar(evt);					break;			}			return evt;		},		_setKeyChar: function(evt){			evt.keyChar = evt.charCode ? String.fromCharCode(evt.charCode) : '';		}	});	// DOM events		dojo.fixEvent = function(/*Event*/evt, /*DOMNode*/sender){		// summary:		//		normalizes properties on the event object including event		//		bubbling methods, keystroke normalization, and x/y positions		// evt: Event		//		native event object		// sender: DOMNode		//		node to treat as "currentTarget"		return del._fixEvent(evt, sender);	}	dojo.stopEvent = function(/*Event*/evt){		// summary:		//		prevents propagation and clobbers the default action of the		//		passed event		// evt: Event		//		The event object. If omitted, window.event is used on IE.		evt.preventDefault();		evt.stopPropagation();		// NOTE: below, this method is overridden for IE	}	// the default listener to use on dontFix nodes, overriden for IE	var node_listener = dojo._listener;		// Unify connect and event listeners	dojo._connect = function(obj, event, context, method, dontFix){		// FIXME: need a more strict test		var isNode = obj && (obj.nodeType||obj.attachEvent||obj.addEventListener);		// choose one of three listener options: raw (connect.js), DOM event on a Node, custom event on a Node		// we need the third option to provide leak prevention on broken browsers (IE)		var lid = !isNode ? 0 : (!dontFix ? 1 : 2), l = [dojo._listener, del, node_listener][lid];		// create a listener		var h = l.add(obj, event, dojo.hitch(context, method));		// formerly, the disconnect package contained "l" directly, but if client code		// leaks the disconnect package (by connecting it to a node), referencing "l" 		// compounds the problem.		// instead we return a listener id, which requires custom _disconnect below.		// return disconnect package		return [ obj, event, h, lid ];	}	dojo._disconnect = function(obj, event, handle, listener){		([dojo._listener, del, node_listener][listener]).remove(obj, event, handle);	}	// Constants	// Public: client code should test	// keyCode against these named constants, as the	// actual codes can vary by browser.	dojo.keys = {		// summary: definitions for common key values		BACKSPACE: 8,		TAB: 9,		CLEAR: 12,		ENTER: 13,		SHIFT: 16,		CTRL: 17,		ALT: 18,		PAUSE: 19,		CAPS_LOCK: 20,		ESCAPE: 27,		SPACE: 32,		PAGE_UP: 33,		PAGE_DOWN: 34,		END: 35,		HOME: 36,		LEFT_ARROW: 37,		UP_ARROW: 38,		RIGHT_ARROW: 39,		DOWN_ARROW: 40,		INSERT: 45,		DELETE: 46,		HELP: 47,		LEFT_WINDOW: 91,		RIGHT_WINDOW: 92,		SELECT: 93,		NUMPAD_0: 96,		NUMPAD_1: 97,		NUMPAD_2: 98,		NUMPAD_3: 99,		NUMPAD_4: 100,		NUMPAD_5: 101,		NUMPAD_6: 102,		NUMPAD_7: 103,		NUMPAD_8: 104,		NUMPAD_9: 105,		NUMPAD_MULTIPLY: 106,		NUMPAD_PLUS: 107,		NUMPAD_ENTER: 108,		NUMPAD_MINUS: 109,		NUMPAD_PERIOD: 110,		NUMPAD_DIVIDE: 111,		F1: 112,		F2: 113,		F3: 114,		F4: 115,		F5: 116,		F6: 117,		F7: 118,		F8: 119,		F9: 120,		F10: 121,		F11: 122,		F12: 123,		F13: 124,		F14: 125,		F15: 126,		NUM_LOCK: 144,		SCROLL_LOCK: 145	};		// IE event normalization	if(dojo.isIE){ 		var _trySetKeyCode = function(e, code){			try{				// squelch errors when keyCode is read-only				// (e.g. if keyCode is ctrl or shift)				return (e.keyCode = code);			}catch(e){				return 0;			}		}		// by default, use the standard listener		var iel = dojo._listener;		// dispatcher tracking property		if(!dojo.config._allow_leaks){			// custom listener that handles leak protection for DOM events			node_listener = iel = dojo._ie_listener = {				// support handler indirection: event handler functions are 				// referenced here. Event dispatchers hold only indices.				handlers: [],				// add a listener to an object				add: function(/*Object*/ source, /*String*/ method, /*Function*/ listener){					source = source || dojo.global;					var f = source[method];					if(!f||!f._listeners){						var d = dojo._getIeDispatcher();						// original target function is special						d.target = f && (ieh.push(f) - 1);						// dispatcher holds a list of indices into handlers table						d._listeners = [];						// redirect source to dispatcher						f = source[method] = d;					}					return f._listeners.push(ieh.push(listener) - 1) ; /*Handle*/				},				// remove a listener from an object				remove: function(/*Object*/ source, /*String*/ method, /*Handle*/ handle){					var f = (source||dojo.global)[method], l = f && f._listeners;					if(f && l && handle--){						delete ieh[l[handle]];						delete l[handle];					}				}			};			// alias used above			var ieh = iel.handlers;		}		dojo.mixin(del, {			add: function(/*DOMNode*/node, /*String*/event, /*Function*/fp){				if(!node){return;} // undefined				event = del._normalizeEventName(event);				if(event=="onkeypress"){					// we need to listen to onkeydown to synthesize					// keypress events that otherwise won't fire					// on IE					var kd = node.onkeydown;					if(!kd || !kd._listeners || !kd._stealthKeydownHandle){						var h = del.add(node, "onkeydown", del._stealthKeyDown);						kd = node.onkeydown;						kd._stealthKeydownHandle = h;						kd._stealthKeydownRefs = 1;					}else{						kd._stealthKeydownRefs++;					}				}				return iel.add(node, event, del._fixCallback(fp));			},			remove: function(/*DOMNode*/node, /*String*/event, /*Handle*/handle){				event = del._normalizeEventName(event);				iel.remove(node, event, handle); 				if(event=="onkeypress"){					var kd = node.onkeydown;					if(--kd._stealthKeydownRefs <= 0){						iel.remove(node, "onkeydown", kd._stealthKeydownHandle);						delete kd._stealthKeydownHandle;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -