Autor | Zpráva | ||
---|---|---|---|
RickyHM Profil * |
#1 · Zasláno: 7. 3. 2013, 12:01:14
Dobrý den,
potřebuji radu, zdali je to možné jiným způsobem než ty které popíšu. Mam několik souboru js scriptu a na indexové strance spouštím jednu funkci (řekněme FUNKCE1) která je v onload, jelikož potřebuje pracovat s objectem(OBJECT1-DIV) div ze stránky z indexu. Jenže v jednom z js souboru potřebuji pracovat právě s tim Objectem(OBJECT1-DIV). Ale ten object zatim samozřejmě neexistuje. Dělám to vše v OOP. A potřebuji nějak zajistit aby se ta funkce spustila po načtení celé stránky, aniž bych ji volal ve funkci(FUNKCE1) nebo v onload. Nechci celej ten script dávat pod onload. Spiš na to nějakym způsobem odkazat. Věřím že to půjde nějakym dokonalým řešením. Nechci a nepouživam žadnou knihovnu. Děkuji předem za rady. |
||
aDAm Profil |
#2 · Zasláno: 7. 3. 2013, 12:08:56
Podle toho kdy to chceš volat. Jestli když je připraven dom a nebo jestli až když je naloadovana stránka:
function foo(){ alert("bar") } document.addEventListener("DOMContentLoaded", foo, false); a pokud až po načteni tak takto: function foo(){ alert("bar") } window.onload = foo(); |
||
RickyHM Profil * |
#3 · Zasláno: 7. 3. 2013, 12:24:12
To mi nefunguje.
Mam to takto. Char.prototype.createWindow = function(){ this.obj = document.createElement('div'); console.log('createWindow '+MainObject.obj); } myChar.createWindow({ source:{ name:'Info', load:'page.html' } }); jenže kód onload se provede až později, timpádem MainObject.obj neexistuje. |
||
aDAm Profil |
#4 · Zasláno: 7. 3. 2013, 12:28:22
proto to musíš dělat přes ty event listenery a tady je problém s prohlížeči, každý podporuje něco jiného. Stačí se zeptat strejdy google.
|
||
RickyHM Profil * |
#5 · Zasláno: 7. 3. 2013, 12:57:07
Dobře, tvuj způsob mi dovolí zjistit MainObject.obj pomocí document.getElementById. Ale MainObject.obj stále v tu dobu neni definovaný. Což může být jen proto že se kód v onload provede později. Šlo by to vyřešit tím že bych přesunul tu část kódu onload uplně do hlavičky. Ale jde to vyřešit i jinak? Nějak zajistit že určitá funkce má hlavni prioritu a musí se provést prvni?
|
||
_es Profil |
#6 · Zasláno: 7. 3. 2013, 13:11:19
RickyHM:
Viď Kombinace window.onload a atributu onload v <body> |
||
Časová prodleva: 11 let
|
0