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

Reply via email to