Gnomo Postado Fevereiro 19, 2007 Denunciar Share Postado Fevereiro 19, 2007 e aí galera..tenho esse codigo em JS que faz um menu tree.. exemplo:--Menu1----SubMenu--Menu2----SubMenuSó que ele esta dando erro no firefox.. no IE ele funciona normalmente, já no firefox da erro na linha 40, 47 e 54.Linha 40: document.onmouseover = function() { var eSrc = window.event.srcElement; if (eSrc.className == "it") { eSrc.className = "id"; }}Erro:window.event has no propertiesLinha 47: document.onmouseout = function() { var eSrc = window.event.srcElement; if (eSrc.className == "id") { window.event.srcElement.className = "it"; }}Erro:window.event has no propertiesLinha 54: document.onclick = function() { var eSrc = window.event.srcElement; if (eSrc.className == "it" || eSrc.className == "id") { window.event.srcElement.className = "ie"; if(ultObj != null) ultObj.className = "it"; ultObj = window.event.srcElement; sMostrar(ultObj.id.substring(1,ultObj.id.length-1)); } else if(eSrc.className == "ii") { if(eSrc.src.substring(eSrc.src.length - iNl.length, eSrc.src.length) != iNl){ objid = document.all(eSrc.id.substring(0,eSrc.id.length-1)); if(objid.style.display == '') { objid.style.display='none'; eSrc.src = iFc; } else if (objid.style.display == 'none') { objid.style.display='block'; eSrc.src = iAb; } else { objid.style.display='none'; eSrc.src = iFc; } } }}Erro:window.event has no propertiesCodigo completo: var ultObj, secAtual; var iAb = "img/fold-ab.gif"; var iFc = "img/fold-fc.gif"; var iNl = "img/fold-nl.gif"; function Lista() { for(i = 0; i < document.all.length; i++) { if(document.all(i).tagName == 'IMG'){ document.all(i).src = 'img/fold-' + document.all(i).src.substr(document.all(i).src.lastIndexOf('/')+1,2) + '.gif'; document.all(i).className = 'ii'; } else if(document.all(i).tagName == 'SPAN'){ document.all(i).className = 'it'; } else if(document.all(i).tagName == 'DIV'){ document.all(i).style.display='none'; document.all(i).className = 'is'; } } m1.style.display='block'; m1i.src = iAb; m1l.className = "ie"; ultObj = m1l; sMostrar(1); } window.onload = function() { Lista(); } document.onselectstart = function() { window.event.cancelBubble = true; window.event.returnValue = false; return false; } function sMostrar(codsec) { if(codsec != secAtual) top.admin.corpo.document.location = 'ConteudoCorpo.asp?cat=' + codsec; secAtual = codsec; } document.onmouseover = function() { var eSrc = window.event.srcElement; if (eSrc.className == "it") { eSrc.className = "id"; } } document.onmouseout = function() { var eSrc = window.event.srcElement; if (eSrc.className == "id") { window.event.srcElement.className = "it"; } } document.onclick = function() { var eSrc = window.event.srcElement; if (eSrc.className == "it" || eSrc.className == "id") { window.event.srcElement.className = "ie"; if(ultObj != null) ultObj.className = "it"; ultObj = window.event.srcElement; sMostrar(ultObj.id.substring(1,ultObj.id.length-1)); } else if(eSrc.className == "ii") { if(eSrc.src.substring(eSrc.src.length - iNl.length, eSrc.src.length) != iNl){ objid = document.all(eSrc.id.substring(0,eSrc.id.length-1)); if(objid.style.display == '') { objid.style.display='none'; eSrc.src = iFc; } else if (objid.style.display == 'none') { objid.style.display='block'; eSrc.src = iAb; } else { objid.style.display='none'; eSrc.src = iFc; } } } } document.ondblclick = function() { var eSrc = window.event.srcElement; if (eSrc.className == "it" || eSrc.className == "id" || eSrc.className == "ie") { window.event.srcElement.className = "ie"; if(ultObj != null && ultObj != eSrc) ultObj.className = "it"; ultObj = window.event.srcElement; iSrc = document.all(eSrc.id.substring(0,eSrc.id.length-1) + 'i'); if(iSrc.src.substring(iSrc.src.length - iNl.length,iSrc.src.length) != iNl){ objid = document.all(eSrc.id.substring(0,eSrc.id.length-1)); if(objid.style.display == '') { objid.style.display='none'; iSrc.src = iFc; } else if (objid.style.display == 'none') { objid.style.display='block'; iSrc.src = iAb; } else { objid.style.display='none'; iSrc.src = iFc; } } } } Desde já agradeço. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 robertoQCM Postado Fevereiro 19, 2008 Denunciar Share Postado Fevereiro 19, 2008 pessoal!!!Por favor alguém sabe o que pode ser este problema????Estou com o mesmo problema Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 KaKarotto Postado Fevereiro 20, 2008 Denunciar Share Postado Fevereiro 20, 2008 É porque estão usando uma propriedade que só existe no iE. srcElement.O código para funcionar no s dois navegadores deve ser assim:document.onmouseover = function(event) { try{ var eSrc=window.event.srcElement }catch(e){var eSrc=event.target} if (eSrc.className == "it") eSrc.className = "id" }Deve também colocar o objeto evento como argumento da função anônima do onmouseover, para funcionar em não iE´s.Abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Gnomo
e aí galera..
tenho esse codigo em JS que faz um menu tree.. exemplo:
--Menu1
----SubMenu
--Menu2
----SubMenu
Só que ele esta dando erro no firefox.. no IE ele funciona normalmente, já no firefox da erro na linha 40, 47 e 54.
Linha 40:
Linha 47:
Linha 54:
Codigo completo:
Desde já agradeço.
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.