PDA

View Full Version : JS for IE5, How Use w/ Mozilla?


gecko
10-13-2002, 05:38 AM
I have this snipplet of code (the entire script is at http://www.jsmadeeasy.com/javascripts/IE5%20Scripts/outline/template.htm ) that works fine on IE5, but not on Mozilla:

<SCRIPT LANGUAGE="JavaScript">
function clickHandler() {
var targetId, srcElement, targetElement;
srcElement = window.event.srcElement;
if (srcElement.className == "Outline") {
targetId = srcElement.id + "d";
targetElement = document.all(targetId);
if (targetElement.style.display == "none") {
targetElement.style.display = "";
srcElement.src = "images/ofolder.gif";
} else {
targetElement.style.display = "none";
srcElement.src = "images/folder.gif";
}
}
}

document.onclick = clickHandler;

</SCRIPT>

Any suggestions for how to convert this for use with Mozilla? Thanks in advance.

beetle
10-13-2002, 06:35 AM
Hmmm, two things that stand out right away are these

Change
srcElement = window.event.srcElement;

To
srcElement = (document.all) ? event.srcElement : event.target;

Change
targetElement = document.all(targetId);

To
targetElement = document.getElementById(targetId);

Let me know how it goes after those changes...

jkd
10-13-2002, 04:08 PM
Originally posted by beetle
Change
srcElement = window.event.srcElement;

To
srcElement = (document.all) ? event.srcElement : event.target;


"event" is not being passed as an argument to the function. Either pass it, or use arguments[0] to reference the event object.

Also, in Moz, TextNodes are valid EventListeners, which may cause a few inconsistencies if you're not careful.