[JS] onmouseover, event en toevoeging van een nieuw element.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Danny Roelofs

Danny Roelofs

02/03/2008 23:10:00
Quote Anchor link
JS heeft in dit geval voor mij weer een grens bereikt waardoor ik nu vast loop, wellicht zit ik verkeerd te denken, of dien ik nog het een en ander anders te doen.

Maar het gaat hierom:

Als de pagina geladen wordt, is er al een DIV met een onmousedown functie en dat is deze : javascript:xl_OS('',event,'',this,1,'','','');.

Door ooit alleen een stukje sniplet te gebruiken en aardig te veranderen, weet ik nog niet waar event vandaan komt, al verwacht ik dat dit de grote noemer is binnen het systeem en alle event gegevens registreert.

Dat werkt op zich allemaal prima, maar ik wil bereiken dat mijn pagina op een gegeven moment alles dynamisch inlaad, op het moment dat het nodig is en zo de te downloaden grote bij het initializeren beperken tot de minimale benodigheden.

Dus komt er op een gegeven moment dat ik dit moet doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
var bodyid = document.getElementsByTagName("body")[0];        
var newElement = document.createElement('div');
newElement.id = 'probeersel';
bodyid.appendChild(newElement);


Waarbij ik het volgende geprobeert heb toe te voegen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
newElement.onmouseover = "xl_OS('',event,'',this,1,'','','')"


Dat wilde niet, event werd beshouwd als onbekend, niet aangemaakt.

Toen maar eens nadenken, en trachte ik het op deze manier:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
newElement.onmouseover =  function (){xl_OS('',event,'',this,1,'','','')}


Ging al beter, maar de xl_OS() routine erkent geen waarde toe aan de event en kan niet hierop handelen.

Mijn code posten heeft nou niet zo veel zin, het is nogal best veel aan routines en wellicht weet iemand uit ervaring wat er bij mis gaat.

Maar goed, morgen is er ook weer een nieuwe dag.. en google ik ook weer verder, en wellicht moet ik een andere aanpak verkiezen en een aantal functies herschrijven waardoor ik de event niet meer hoef door te geven.

Maar als er iemand dit probleem kent, of suggestiés heeft.. dan verneem ik dat graag.
Gewijzigd op 01/01/1970 01:00:00 door Danny Roelofs
 
PHP hulp

PHP hulp

18/04/2021 20:24:08
 
Danny Roelofs

Danny Roelofs

03/03/2008 23:16:00
Quote Anchor link
Nou dan voor de gene die zich toch betrokken voelde en niet heeft gereageerd, ben ik toch zelfstandig achter het probleem gekomen.

Ik had het ook even onder IE moeten testen om het brainstormen van mij zelf een betere start te geven. Blijkt dat dit een IE versus FF verschil is in het doorsturen van een event aan een functie als je met o.a appendchild aan de gang gaat.

Kortom, wat is de situatie:

Onder IE werkt dit prima, FF niet:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
newElement.onmouseover =  function (){xl_OS('',event,'',this,1,'','','')}


Onder FF werkt dit prima, IE niet:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
newElement.onmouseover =  function (event){xl_OS('',event,'',this,1,'','','')}


Kortom, de functie uit een eerder geladen gedeelte opnieuw toekennen als een functie aan de onmouseover (of andere mouse event) maar dan naar gelang de browser type de event niet of wel door geven als argument c.q parameter.

Dus bij deze, opgelost.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.