this is a more complete _FindDlr:
function _FindDlr(oElm, oLayers) {
var i, k, oRet;
if (!oLayers) oLayers = document.layers;
if (oElm.form) {
for (i=0; i<oLayers.length; i++) {
for (k=0; k<oLayers[i].document.forms.length; k++) {
if (oLayers[i].document.forms[k]==oElm.form) { // it could be
optimized!
oRet = oLayers[i].lyrobj;
break;
}
}
if (!oRet && oLayers[i].document.layers.length > 0) oRet =
_FindDlr(oElm, oLayers[i].document.layers);
if (oRet) break;
}
}
return oRet;
}
Andreas
-----Original Message-----
From: GORTSILAS ANDREAS
Sent: Tuesday, March 06, 2001 3:24 PM
To: Dynapi-Dev mailing list (E-mail)
Subject: EventMethod fix...
In DynLayer.prototype.EventMethod (events.js) the code:
for(;!realsrc.lyrobj && realsrc.parentElement &&
realsrc.parentElement!=realsrc;realsrc=realsrc.parentElement);
src=realsrc.lyrobj||dyndoc;
must be replaced by:
var src;
if (is.ie) {
for(;!realsrc.lyrobj && realsrc.parentElement &&
realsrc.parentElement!=realsrc;realsrc=realsrc.parentElement);
src=realsrc.lyrobj||dyndoc;
}
else if (is.ns && !realsrc.lyrobj) src = _FindDlr(realsrc);
and ...
function _FindDlr(oElm) {
var i, k, oRet;
if (oElm.form) {
for (i=0; i<document.layers.length; i++) {
for (k=0; k<document.layers[i].document.forms.length; k++) {
if (document.layers[i].document.forms[i]==oElm.form) {
oRet = document.layers[i].lyrobj;
break;
}
}
if (oRet) break;
}
}
return oRet;
}
In NS the event of an html element was not forwarded to the DynLayer which
contains it...
Please make any corrections (if necessary) and include-it with the official
code
Andreas Gortsilas
_______________________________________________
Dynapi-Dev mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/dynapi-dev