| 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: 13 let
|
|||
0