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

📄 mouse.js

📁 java 写的一个新闻发布系统
💻 JS
字号:
/*   DynAPI Distribution   Event Classes   The DynAPI Distribution is distributed under the terms of the GNU LGPL license.   Requirements:	dynapi.api [dynlayer, dyndocument, browser]	dynapi.event [listeners]*/// The mouseEvent objectDynMouseEvent=function(old) {	this.DynEvent=DynEvent;	this.DynEvent();	// Copy properties from given event, if any	if (old) for(var i in old) this[i]=old[i]};DynMouseEvent.prototype=new DynEvent();DynMouseEvent.prototype.preBubbleCode=function() {	this.x+=this.src.x;	this.y+=this.src.y;};DynMouseEvent.prototype.getX=function() {return this.x};DynMouseEvent.prototype.getY=function() {return this.y};DynMouseEvent.prototype.getPageX=function() {return this.pageX};DynMouseEvent.prototype.getPageY=function() {return this.pageY};DynMouseEvent.prototype.cancelBrowserEvent=function() {this.browserReturn=false};// This is THE event. DynMouseEvent._e=new DynMouseEvent()// If this is true, then mouseups always happen where the mousedown happenedDynMouseEvent.forceMouseUp = falseDynMouseEvent.EventMethod=function(e) {	var dynobject=this.lyrobj;	if(is.def) {		if (is.ie) var e=dynobject.frame.event        	e.cancelBubble=true;		if (DynAPI.wasDragging && e.type=="click") {			DynAPI.wasDragging=false;			return true;		}	}	// Get the real source for the event	if(is.def) var realsrc = Methods.getContainerLayerOf(is.ie?e.srcElement:e.target) || dynobject	else if(is.ns4) var realsrc=e.target.lyrobj||dynobject	// Now 'realsrc' should point to the DynLayer object where the event initially was triggered	if (!realsrc) { alert('Error in MouseEvents'); return false; }	if(is.def) {		if(e.type=="mouseout" && realsrc.isParentOf(Methods.getContainerLayerOf(is.ie?e.toElement:e.relatedTarget),true)) return true;		if(e.type=="mouseover" && realsrc.isParentOf(Methods.getContainerLayerOf(is.ie?e.fromElement:e.relatedTarget),true)) return true;	}	var evt=DynMouseEvent._e	// Step one: properties common to all DynEvents	var type = e.type	evt.type = type;	evt.src=realsrc;	evt.browserReturn=true;	evt.bubble=true;	// Step two: mouse coordinate properties	evt.pageX=is.ie?e.x+document.body.scrollLeft:e.pageX-window.pageXOffset;	evt.pageY=is.ie?e.y+document.body.scrollTop:e.pageY-window.pageYOffset;	evt.x=is.ie?e.x-evt.src.getPageX():e.layerX	evt.y=is.ie?e.y-evt.src.getPageY():e.layerY	// Step three: mouse buttons	var b=is.ie?e.button:e.which;	if (is.ie){		if (b==2) b=3;		else if (b==4) b=2;	};	evt.button=b;	if (evt.button==2 && (type=='mousedown' || type=='mouseup' || type=='mouseclick')) type=evt.type='md'+type;	if (evt.button==3 && (type=='mousedown' || type=='mouseup' || type=='mouseclick')) type=evt.type='rt'+type;	// Step four: modifiers	if (is.def){		evt.altKey=(e.altKey||e.altLeft);		evt.ctrlKey=(e.ctrlKey||e.ctrlLeft);		evt.shiftKey=(e.shiftKey||e.shiftLeft);	}	else if (is.ns4){		var m=e.modifiers;		evt.altKey=(m==1||m==3||m==5||m==7);		evt.ctrlKey=(m==2||m==3||m==6||m==7);		evt.shiftKey=(m==4||m==5||m==6||m==7);	}	// Step five: reference to the original event	evt.orig=e	if(is.def) {		if (evt.type=='mouseover') {			var fromL = Methods.getContainerLayerOf(is.ie?e.fromElement:e.relatedTarget)			if(fromL && fromL.isChildOf(realsrc.parent,true)) evt.setBubble(false);		}		if (evt.type=='mouseout') {			var toL = Methods.getContainerLayerOf(is.ie?e.toElement:e.relatedTarget)			if(toL && toL.isChildOf(realsrc.parent,true)) evt.setBubble(false);		}	}	else if(is.ns4 && (e.type=="mouseover" || e.type=="mouseout")) evt.setBubble(false);	// This forces mouseUps to happen in the same place where mousedowns took place	if (DynMouseEvent.forceMouseUp && is.def) { 		if (e.type=='mousedown') DynMouseEvent.focus=realsrc; 		else if (e.type=='mouseup' && DynMouseEvent.focus!=null) 		evt.src=realsrc=DynMouseEvent.focus; 	};	// Invoke the event	realsrc.invokeEvent(type,evt);	// Other checks	if (is.ns4 && is.platform=="other" && type=="mousedown") {		if (this.dbltimer!=null) {			evt.type=type="dblclick";			evt.bubble = true;			realsrc.invokeEvent(type,evt);		}		else this.dbltimer=setTimeout(this+'.dbltimer=null',300);	}	if (is.ns4) {		if (e.cancelBubble) return false;		if (e && e.target.handleEvent && e.target!=this) e.target.handleEvent(type,e);		}	if (is.ns4 && type=="mouseup") {		evt.type=type="click";		evt.bubble = true;		realsrc.invokeEvent(type,evt);	}	// Return value	return evt.browserReturn;}// Extend DynDocument to capture its eventsDynDocument.prototype.captureMouseEvents = function() {	if(is.def&&!is.ie) {		this.doc.addEventListener("mousemove",DynMouseEvent.EventMethod,false)		this.doc.addEventListener("mousedown",DynMouseEvent.EventMethod,false)		this.doc.addEventListener("mouseup",DynMouseEvent.EventMethod,false)		this.doc.addEventListener("mouseover",DynMouseEvent.EventMethod,false)		this.doc.addEventListener("mouseout",DynMouseEvent.EventMethod,false)		this.doc.addEventListener("click",DynMouseEvent.EventMethod,false)		this.doc.addEventListener("dblclick",DynMouseEvent.EventMethod,false)	}	else {		if (is.ns4) this.doc.captureEvents(Event.MOUSEMOVE | Event.MOUSEDOWN | Event.MOUSEUP | Event.CLICK | Event.DBLCLICK);		this.doc.onmousemove=this.doc.onmousedown=this.doc.onmouseup=this.doc.onclick=this.doc.ondblclick=DynMouseEvent.EventMethod;		if (is.ie5) this.doc.oncontextmenu=function(){ return false };	}}DynDocument.prototype.releaseMouseEvents=function() {	if(is.def&&!is.ie) {		this.doc.removeEventListener("mousemove",DynMouseEvent.EventMethod,false)		this.doc.removeEventListener("mousedown",DynMouseEvent.EventMethod,false)		this.doc.removeEventListener("mouseup",DynMouseEvent.EventMethod,false)		this.doc.removeEventListener("mouseover",DynMouseEvent.EventMethod,false)		this.doc.removeEventListener("mouseout",DynMouseEvent.EventMethod,false)		this.doc.removeEventListener("click",DynMouseEvent.EventMethod,false)		this.doc.removeEventListener("dblclick",DynMouseEvent.EventMethod,false)	}	else {		if (is.ns4) this.doc.releaseEvents(Event.MOUSEMOVE | Event.MOUSEDOWN | Event.MOUSEUP | Event.CLICK | Event.DBLCLICK);		this.doc.onmousemove=this.doc.onmousedown=this.doc.onmouseup=this.doc.onclick=this.doc.ondblclick=null		if (is.ie5) this.doc.oncontextmenu=null	}}/* Extend DynLayer to capture mouse events upon layer creation (if needed) */DynLayer.prototype.captureMouseEvents = function() {	var elm=this.elm	if(!elm) return	if(is.def&&!is.ie) {		elm.addEventListener("mousemove",DynMouseEvent.EventMethod,false)		elm.addEventListener("mousedown",DynMouseEvent.EventMethod,false)		elm.addEventListener("mouseup",DynMouseEvent.EventMethod,false)		elm.addEventListener("mouseover",DynMouseEvent.EventMethod,false)		elm.addEventListener("mouseout",DynMouseEvent.EventMethod,false)		elm.addEventListener("click",DynMouseEvent.EventMethod,false)		elm.addEventListener("dblclick",DynMouseEvent.EventMethod,false)	}	else {		if (is.ns4) elm.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP | Event.CLICK | Event.DBLCLICK | Event.MOUSEMOVE);		elm.onmousemove=elm.onmousedown=elm.onmouseup=elm.onmouseover=elm.onmouseout=elm.onclick=elm.ondblclick=DynMouseEvent.EventMethod		if (is.ie5) elm.oncontextmenu=function(){return false}	}}DynLayer.prototype.releaseMouseEvents=function() {	var elm=this.elm	if(!elm) return	if(is.def&&!is.ie) {		elm.removeEventListener("mousemove",DynMouseEvent.EventMethod,false)		elm.removeEventListener("mousedown",DynMouseEvent.EventMethod,false)		elm.removeEventListener("mouseup",DynMouseEvent.EventMethod,false)		elm.removeEventListener("mouseover",DynMouseEvent.EventMethod,false)		elm.removeEventListener("mouseout",DynMouseEvent.EventMethod,false)		elm.removeEventListener("click",DynMouseEvent.EventMethod,false)		elm.removeEventListener("dblclick",DynMouseEvent.EventMethod,false)	}	else {		if (is.ns4) elm.releaseEvents(Event.MOUSEDOWN | Event.MOUSEUP | Event.CLICK | Event.DBLCLICK | Event.MOUSEMOVE);		elm.onmousemove=elm.onmousedown=elm.onmouseup=elm.onclick=elm.ondblclick=null		if (is.ie5) elm.oncontextmenu=null	}}DynObject.prototype.assignMouseEvents = function() {	if (this.hasEventListeners) this.captureMouseEvents()	var l=this.children.length;	for (var i=0; i<l; i++) this.children[i].assignMouseEvents()}DynObject.prototype._OldM_addEventListener = DynObject.prototype.addEventListenerDynObject.prototype.addEventListener = function(l) {	var r = this._OldM_addEventListener(l)	if(this.hasEventListeners && this.created) this.captureMouseEvents()	return r}DynObject.prototype._OldM_removeEventListener = DynObject.prototype.removeEventListenerDynObject.prototype.removeEventListener = function(l) {	var r = this._OldM_removeEventListener(l)	if(!this.hasEventListeners) this.releaseMouseEvents()	return r}DynObject.prototype._OldM_removeAllEventListeners = DynObject.prototype.removeAllEventListenersDynObject.prototype.removeAllEventListeners = function() {	var r = this._OldM_removeAllEventListeners()	this.releaseMouseEvents()	return r}// DynLayer SpecificDynLayer.prototype._OldM_specificCreate = DynLayer.prototype.specificCreateDynLayer.prototype.specificCreate = function() {	this._OldM_specificCreate()	this.assignMouseEvents()}// DynDocument SpecificDynDocument.prototype._OldM_specificCreate = DynDocument.prototype.specificCreateDynDocument.prototype.specificCreate = function() {	this._OldM_specificCreate()	this.assignMouseEvents()}

⌨️ 快捷键说明

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