Korte introductie: Ik ben een pulldown aan het coden die IE/Mozilla compatible moet zijn. De gegevens van de pulldown worden uit een aantal arrays gehaald waarna alle items dynamisch gegenereerd worden. Daarbij wordt een Array bijgehouden ('bfh_menuItemArray[id]') waarbij 'id' de id is van de DIV die in de pagina staat. Al die bfh_menuItemArray[id]'s zijn objecten die als property hebben een action, een rollover cssClass etc.
Het vreemde probleem dat ik tegenkom is dit: de onmousedown van de menuitems verwijst naar een functie 'bfh_menuMouseDown':
In mozilla geen enkele error, alles werkt prima. In IE werkt alles ook prima, hij geeft de juiste alert, hij voert action uit die bij het object hoort, allemaal fijn, maar.... hij geeft wel een error: Object required.
De functie 'bfh_1stParentDiv' gaat omhoog in de documentstructuur totdat ie een DIV tegenkomt. Doel is om te zorgen dat in de menuItems bijvoorbeeld ook een image met een id geplaatst kan worden.
Ik heb ff geen idee waarom IE een error geeft, zeker aangezien Mozilla geen errors geeft en de functie in IE verder wel correct uitgevoerd wordt... Iemand suggesties?
IE versie: 5.50.4807.2300
Het vreemde probleem dat ik tegenkom is dit: de onmousedown van de menuitems verwijst naar een functie 'bfh_menuMouseDown':
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| function bfh_menuMouseDown(e) { var el1 = (e)?e.target:window.event.srcElement; var el1_1stP = bfh_1stParentDiv(el1); // assignen gaat prima, of ik nou id, nodeName doe whatever. var myVar = el1_1stP.id; // hier gooit ie een error, maar alert wel de juiste ID, (IE dus) alert(myVar); // gaat weer prima var myId = el1_1stP.id; bfh_hideMenus(); // IE voert de actie uit maar geeft wel weer een error. eval(bfh_menuItemArray[myId].action); } |
In mozilla geen enkele error, alles werkt prima. In IE werkt alles ook prima, hij geeft de juiste alert, hij voert action uit die bij het object hoort, allemaal fijn, maar.... hij geeft wel een error: Object required.
De functie 'bfh_1stParentDiv' gaat omhoog in de documentstructuur totdat ie een DIV tegenkomt. Doel is om te zorgen dat in de menuItems bijvoorbeeld ook een image met een id geplaatst kan worden.
JavaScript:
1
2
3
4
5
6
7
| function bfh_1stParentDiv(node) { if (node.nodeName=='DIV') return node; while (node.parentNode) { node = node.parentNode; if (node.nodeName=='DIV') return node; } } |
Ik heb ff geen idee waarom IE een error geeft, zeker aangezien Mozilla geen errors geeft en de functie in IE verder wel correct uitgevoerd wordt... Iemand suggesties?
IE versie: 5.50.4807.2300