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

📄 event.js

📁 这是一个ajax的例子大家好好的看看就是一个鱼眼的效果
💻 JS
📖 第 1 页 / 共 2 页
字号:
					}				}			},			_normalizeEventName: function(/*String*/eventName){				// Generally, eventName should be lower case, unless it is				// special somehow (e.g. a Mozilla event)				// ensure 'on'				return eventName.slice(0,2) != "on" ? "on" + eventName : eventName;			},			_nop: function(){},			_fixEvent: function(/*Event*/evt, /*DOMNode*/sender){				// summary:				//		normalizes properties on the event object including event				//		bubbling methods, keystroke normalization, and x/y positions				// evt: native event object				// sender: node to treat as "currentTarget"				if(!evt){					var w = sender && (sender.ownerDocument || sender.document || sender).parentWindow || window;					evt = w.event; 				}				if(!evt){return(evt);}				evt.target = evt.srcElement; 				evt.currentTarget = (sender || evt.srcElement); 				evt.layerX = evt.offsetX;				evt.layerY = evt.offsetY;				// FIXME: scroll position query is duped from dojo.html to				// avoid dependency on that entire module. Now that HTML is in				// Base, we should convert back to something similar there.				var se = evt.srcElement, doc = (se && se.ownerDocument) || document;				// DO NOT replace the following to use dojo.body(), in IE, document.documentElement should be used				// here rather than document.body				var docBody = ((dojo.isIE < 6) || (doc["compatMode"] == "BackCompat")) ? doc.body : doc.documentElement;				var offset = dojo._getIeDocumentElementOffset();				evt.pageX = evt.clientX + dojo._fixIeBiDiScrollLeft(docBody.scrollLeft || 0) - offset.x;				evt.pageY = evt.clientY + (docBody.scrollTop || 0) - offset.y;				if(evt.type == "mouseover"){ 					evt.relatedTarget = evt.fromElement;				}				if(evt.type == "mouseout"){ 					evt.relatedTarget = evt.toElement;				}				evt.stopPropagation = del._stopPropagation;				evt.preventDefault = del._preventDefault;				return del._fixKeys(evt);			},			_fixKeys: function(evt){				switch(evt.type){					case "keypress":						var c = ("charCode" in evt ? evt.charCode : evt.keyCode);						if (c==10){							// CTRL-ENTER is CTRL-ASCII(10) on IE, but CTRL-ENTER on Mozilla							c=0;							evt.keyCode = 13;						}else if(c==13||c==27){							c=0; // Mozilla considers ENTER and ESC non-printable						}else if(c==3){							c=99; // Mozilla maps CTRL-BREAK to CTRL-c						}						// Mozilla sets keyCode to 0 when there is a charCode						// but that stops the event on IE.						evt.charCode = c;						del._setKeyChar(evt);						break;				}				return evt;			},			// some ctrl-key combinations (mostly w/punctuation) do not emit a char code in IE			// we map those virtual key codes to ascii here			// not valid for all (non-US) keyboards, so maybe we shouldn't bother			_punctMap: { 				106:42, 				111:47, 				186:59, 				187:43, 				188:44, 				189:45, 				190:46, 				191:47, 				192:96, 				219:91, 				220:92, 				221:93, 				222:39 			},			_stealthKeyDown: function(evt){				// IE doesn't fire keypress for most non-printable characters.				// other browsers do, we simulate it here.				var kp = evt.currentTarget.onkeypress;				// only works if kp exists and is a dispatcher				if(!kp || !kp._listeners){ return; }				// munge key/charCode				var k=evt.keyCode;				// These are Windows Virtual Key Codes				// http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/UserInput/VirtualKeyCodes.asp				var unprintable = (k!=13)&&(k!=32)&&(k!=27)&&(k<48||k>90)&&(k<96||k>111)&&(k<186||k>192)&&(k<219||k>222);				// synthesize keypress for most unprintables and CTRL-keys				if(unprintable||evt.ctrlKey){					var c = unprintable ? 0 : k;					if(evt.ctrlKey){						if(k==3 || k==13){							return; // IE will post CTRL-BREAK, CTRL-ENTER as keypress natively 						}else if(c>95 && c<106){ 							c -= 48; // map CTRL-[numpad 0-9] to ASCII						}else if((!evt.shiftKey)&&(c>=65&&c<=90)){ 							c += 32; // map CTRL-[A-Z] to lowercase						}else{ 							c = del._punctMap[c] || c; // map other problematic CTRL combinations to ASCII						}					}					// simulate a keypress event					var faux = del._synthesizeEvent(evt, {type: 'keypress', faux: true, charCode: c});					kp.call(evt.currentTarget, faux);					evt.cancelBubble = faux.cancelBubble;					evt.returnValue = faux.returnValue;					_trySetKeyCode(evt, faux.keyCode);				}			},			// Called in Event scope			_stopPropagation: function(){				this.cancelBubble = true; 			},			_preventDefault: function(){				// Setting keyCode to 0 is the only way to prevent certain keypresses (namely				// ctrl-combinations that correspond to menu accelerator keys).				// Otoh, it prevents upstream listeners from getting this information				// Try to split the difference here by clobbering keyCode only for ctrl 				// combinations. If you still need to access the key upstream, bubbledKeyCode is				// provided as a workaround.				this.bubbledKeyCode = this.keyCode;				if(this.ctrlKey){_trySetKeyCode(this, 0);}				this.returnValue = false;			}		});						// override stopEvent for IE		dojo.stopEvent = function(evt){			evt = evt || window.event;			del._stopPropagation.call(evt);			del._preventDefault.call(evt);		}	}	del._synthesizeEvent = function(evt, props){			var faux = dojo.mixin({}, evt, props);			del._setKeyChar(faux);			// FIXME: would prefer to use dojo.hitch: dojo.hitch(evt, evt.preventDefault); 			// but it throws an error when preventDefault is invoked on Safari			// does Event.preventDefault not support "apply" on Safari?			faux.preventDefault = function(){ evt.preventDefault(); }; 			faux.stopPropagation = function(){ evt.stopPropagation(); }; 			return faux;	}		// Opera event normalization	if(dojo.isOpera){		dojo.mixin(del, {			_fixEvent: function(evt, sender){				switch(evt.type){					case "keypress":						var c = evt.which;						if(c==3){							c=99; // Mozilla maps CTRL-BREAK to CTRL-c						}						// can't trap some keys at all, like INSERT and DELETE						// there is no differentiating info between DELETE and ".", or INSERT and "-"						c = ((c<41)&&(!evt.shiftKey) ? 0 : c);						if((evt.ctrlKey)&&(!evt.shiftKey)&&(c>=65)&&(c<=90)){							// lowercase CTRL-[A-Z] keys							c += 32;						}						return del._synthesizeEvent(evt, { charCode: c });				}				return evt;			}		});	}	// Safari event normalization	if(dojo.isSafari){		dojo.mixin(del, {			_fixEvent: function(evt, sender){				switch(evt.type){					case "keypress":						var c = evt.charCode, s = evt.shiftKey, k = evt.keyCode;						// FIXME: This is a hack, suggest we rethink keyboard strategy.						// Arrow and page keys have 0 "keyCode" in keypress events.on Safari for Windows						k = k || identifierMap[evt.keyIdentifier] || 0;						if(evt.keyIdentifier=="Enter"){							c = 0; // differentiate Enter from CTRL-m (both code 13)						}else if((evt.ctrlKey)&&(c>0)&&(c<27)){							c += 96; // map CTRL-[A-Z] codes to ASCII						} else if (c==dojo.keys.SHIFT_TAB) {							c = dojo.keys.TAB; // morph SHIFT_TAB into TAB + shiftKey: true							s = true;						} else {							c = (c>=32 && c<63232 ? c : 0); // avoid generating keyChar for non-printables						}						return del._synthesizeEvent(evt, {charCode: c, shiftKey: s, keyCode: k});				}				return evt;			}		});				dojo.mixin(dojo.keys, {			SHIFT_TAB: 25,			UP_ARROW: 63232,			DOWN_ARROW: 63233,			LEFT_ARROW: 63234,			RIGHT_ARROW: 63235,			F1: 63236,			F2: 63237,			F3: 63238,			F4: 63239,			F5: 63240,			F6: 63241,			F7: 63242,			F8: 63243,			F9: 63244,			F10: 63245,			F11: 63246,			F12: 63247,			PAUSE: 63250,			DELETE: 63272,			HOME: 63273,			END: 63275,			PAGE_UP: 63276,			PAGE_DOWN: 63277,			INSERT: 63302,			PRINT_SCREEN: 63248,			SCROLL_LOCK: 63249,			NUM_LOCK: 63289		});		var dk = dojo.keys, identifierMap = { "Up": dk.UP_ARROW, "Down": dk.DOWN_ARROW, "Left": dk.LEFT_ARROW, "Right": dk.RIGHT_ARROW, "PageUp": dk.PAGE_UP, "PageDown": dk.PAGE_DOWN }; 	}})();if(dojo.isIE){	// keep this out of the closure	// closing over 'iel' or 'ieh' b0rks leak prevention	// ls[i] is an index into the master handler array	dojo._ieDispatcher = function(args, sender){		var ap=Array.prototype, h=dojo._ie_listener.handlers, c=args.callee, ls=c._listeners, t=h[c.target];		// return value comes from original target function		var r = t && t.apply(sender, args);		// invoke listeners after target function		for(var i in ls){			if(!(i in ap)){				h[ls[i]].apply(sender, args);			}		}		return r;	}	dojo._getIeDispatcher = function(){		// ensure the returned function closes over nothing		return new Function(dojo._scopeName + "._ieDispatcher(arguments, this)"); // function	}	// keep this out of the closure to reduce RAM allocation	dojo._event_listener._fixCallback = function(fp){		var f = dojo._event_listener._fixEvent;		return function(e){ return fp.call(this, f(e, this)); };	}}}

⌨️ 快捷键说明

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