Update of /cvsroot/dynapi/dynapi/src/lib/dynapi/api In directory usw-pr-cvs1:/tmp/cvs-serv18378 Modified Files: events.js dynlayer.js Log Message: Many event fixes. See 'this is my war' post in dynapi-dev lists for details Index: events.js =================================================================== RCS file: /cvsroot/dynapi/dynapi/src/lib/dynapi/api/events.js,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -r1.10 -r1.11 *** events.js 2001/01/11 10:20:55 1.10 --- events.js 2001/01/11 19:23:59 1.11 *************** *** 77,81 **** DynLayer.prototype.captureMouseEvents=function() { ! if (!this.eventListeners) this.eventListeners=[];; this.hasEventListeners=true; if (!this.created) return false; --- 77,81 ---- DynLayer.prototype.captureMouseEvents=function() { ! if (!this.eventListeners) this.eventListeners=[]; this.hasEventListeners=true; if (!this.created) return false; *************** *** 83,93 **** if (is.ns4) elm.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP | Event.CLICK | Event.DBLCLICK); elm.mousemove=elm.onmousedown=elm.onmouseup=elm.onmouseover=elm.onmouseout=elm.onclick=elm.ondblclick=DynLayer.prototype.EventMethod; ! if (is.ie5) this.elm.oncontextmenu=function() { return false; }; }; DynLayer.prototype.EventMethod = function(e) { - var dyndoc=this.lyrobj.dyndoc; if (is.ie) { var e=dyndoc.elm.event; --- 83,93 ---- if (is.ns4) elm.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP | Event.CLICK | Event.DBLCLICK); elm.mousemove=elm.onmousedown=elm.onmouseup=elm.onmouseover=elm.onmouseout=elm.onclick=elm.ondblclick=DynLayer.prototype.EventMethod; ! if (is.ie5) elm.oncontextmenu=function() { return false; }; }; DynLayer.prototype.EventMethod = function(e) { + var dyndoc=this.lyrobj.dyndoc; if (is.ie) { var e=dyndoc.elm.event; *************** *** 106,119 **** var which=(is.ie||is.ns5)?e.button:e.which ! // In IE, search for parent div, if any, because it will have a reference to the DynLayer for(;is.ie && !realsrc.lyrobj && realsrc.parentElement && realsrc.parentElement!=realsrc;realsrc=realsrc.parentElement); var src = realsrc.lyrobj||dyndoc ! if (!src) return true var evt=dyndoc._e evt.setEvent(src,e) var type=evt.type src.invokeEvent(type,evt) ! if (e.type=="mouseover" || e.type=="mouseout") return false; evt.bubbleEvent(); return evt.browserReturn; --- 106,121 ---- var which=(is.ie||is.ns5)?e.button:e.which ! /* Fix by ilMaestro: ! In IE, search for parent div, if any, because it will have a reference to the DynLayer */ for(;is.ie && !realsrc.lyrobj && realsrc.parentElement && realsrc.parentElement!=realsrc;realsrc=realsrc.parentElement); var src = realsrc.lyrobj||dyndoc ! //if (!src || src==dyndoc) {window.status=" --> "+realsrc.href; return true } var evt=dyndoc._e evt.setEvent(src,e) var type=evt.type + //window.status = " ... "+src src.invokeEvent(type,evt) ! if (is.ns && (e.type=="mouseover" || e.type=="mouseout")) return false; evt.bubbleEvent(); return evt.browserReturn; Index: dynlayer.js =================================================================== RCS file: /cvsroot/dynapi/dynapi/src/lib/dynapi/api/dynlayer.js,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -r1.12 -r1.13 *** dynlayer.js 2001/01/11 10:22:05 1.12 --- dynlayer.js 2001/01/11 19:23:59 1.13 *************** *** 96,101 **** if (dlyr.h==null && dlyr.getContentHeight()>0) dlyr.setHeight(dlyr.getContentHeight(), false); } - if (dlyr.hasEventListeners) dlyr.captureMouseEvents(); dlyr.created=true; dlyr.invokeEvent("resize"); dlyr.invokeEvent('create'); --- 96,101 ---- if (dlyr.h==null && dlyr.getContentHeight()>0) dlyr.setHeight(dlyr.getContentHeight(), false); } dlyr.created=true; + if (dlyr.hasEventListeners) dlyr.captureMouseEvents(); dlyr.invokeEvent("resize"); dlyr.invokeEvent('create'); *************** *** 132,136 **** dlyr.elm.lyrobj=dlyr; ! if (is.ns4) for (i in dlyr.doc.images) dlyr.doc.images[i].lyrobj=dlyr; if (is.ns5) for (i in dlyr.doc.images) dlyr.doc.images[i].lyrobj=dlyr.elm; --- 132,139 ---- dlyr.elm.lyrobj=dlyr; ! if (is.ns4) { ! for (var i in dlyr.doc.images) dlyr.doc.images[i].lyrobj=dlyr; ! for (i=0;i<dlyr.doc.links.length;i++) dlyr.doc.links[i].lyrobj=dlyr; ! } if (is.ns5) for (i in dlyr.doc.images) dlyr.doc.images[i].lyrobj=dlyr.elm; *************** *** 197,201 **** if (child.created) child.removeFromParent(); child.parent=this; ! child.isChild=true; if (this.dyndoc) this.addChildID(child); this.children[this.children.length]=child; --- 200,204 ---- if (child.created) child.removeFromParent(); child.parent=this; ! child.isChild=true; if (this.dyndoc) this.addChildID(child); this.children[this.children.length]=child; *************** *** 208,212 **** var child=arguments[a]; if (child.parent==this) { ! DynAPI.removeFromArray(this.children,child); DynAPI.removeFromArray(this.dyndoc.all,child,true); DynLayer.unassigned[child.id]=child; --- 211,215 ---- var child=arguments[a]; if (child.parent==this) { ! DynAPI.removeFromArray(this.children,child); DynAPI.removeFromArray(this.dyndoc.all,child,true); DynLayer.unassigned[child.id]=child; *************** *** 422,425 **** --- 425,429 ---- this.doc.close(); for (var i in this.doc.images) this.doc.images[i].lyrobj=this; + for (i=0;i<this.doc.links.length;i++) this.doc.links[i].lyrobj=this; } else if (is.ns5) { _______________________________________________ Dynapi-CVS mailing list [EMAIL PROTECTED] http://lists.sourceforge.net/lists/listinfo/dynapi-cvs