Autor | Zpráva | ||
---|---|---|---|
pospyrus Profil * |
#1 · Zasláno: 16. 2. 2011, 22:53:08
Dobrý den,
chtěl bych se zeptat, kam se píší funkce v jQuery: mám stránku, tam mám vloženy 2 svoje externí js a v tom druhym nemůžu používat fce. z toho prvního. Nevíte co s tím? Děkuji |
||
_es Profil |
#2 · Zasláno: 17. 2. 2011, 00:12:43
pospyrus:
„kam se píší funkce v jQuery“ Čo myslíš „funkciou v jQuery“? |
||
Chamurappi Profil |
#3 · Zasláno: 17. 2. 2011, 01:08:25
Reaguji na pospyra:
Je to jen javascriptový framework (respektive jedna nabobtnalá funkce), nikoliv jazyk. Funkce v JavaScriptu se píšou v JavaScriptu. „mám vloženy 2 svoje externí js a v tom druhym nemůžu používat fce. z toho prvního“ Buď ten první ve skutečnosti vložený nemáš, nebo v něm ta funkce není globálně přístupná (pokud jsi ji třeba napsal dovnitř jiné funkce), nebo je v ní syntaktická chyba, nebo je chyba v něčem úplně jiném. Bez ukázky nemá cenu hádat. |
||
Pospyrus Profil |
#4 · Zasláno: 17. 2. 2011, 09:25:11
Oba tam jsou vloženy, z obou se vykonávají všechny js funkce, ale z toho druhyho nemůžu zavolt funkce z toho prvního:
1. Externí js $(document).ready(function() { function funkce1() {kód} function funkce2() {kód} function funkce3() {kód} function funkce4() {kód} //volání funkcí a další jQuery kód }) 2. Externí js $(document).ready(function() { function funkce6() {kód} function funkce7() {kód} function funkce8() {kód} function funkce9() {kód} $("#neco").click(function() {kód}) funkce1() //nic to neudělá, maximálně zasekne průběh kódu, protože ji nemůže najít }) když dám funkce mimo $(document).ready(function() {}), tak to nejde spustit uvnitř... Jo, a ještě by mě zajímalo, k čemu slouží $(function() {})? |
||
_es Profil |
#5 · Zasláno: 17. 2. 2011, 11:18:12
Pospyrus:
Nauč sa najprv základy, teda čo sú funkcie, vnorené funkcie, lokálne a globálne premenné. funkce1 je lokálna premenná anonymnej funkcie a odkazuje na vnorenú funkciu tej funkcie.
„k čemu slouží $(function() {})?“ Viď: http://api.jquery.com/jQuery/#jQuery3 |
||
Pospyrus Profil |
#6 · Zasláno: 17. 2. 2011, 13:41:06
tak kam to mám teda napsat tu funkci, aby to šlo spustit všude?
|
||
_es Profil |
#7 · Zasláno: 17. 2. 2011, 14:03:08
Pospyrus:
„tak kam to mám teda napsat tu funkci, aby to šlo spustit všude?“ Nájdi si, ako sa používajú globálne funkcie a premenné v JavaScripte. |
||
Pospyrus Profil |
#8 · Zasláno: 17. 2. 2011, 14:27:31
takže něco takovyho?
var funkce = function () { alert("pokus") }; new funkce(); |
||
Chamurappi Profil |
#9 · Zasláno: 17. 2. 2011, 14:32:20
Reaguji na Pospyra:
Ne. Což takhle si nastudovat základy místo tohohle střílení náhodně nalezených kousků kódu? |
||
Pospyrus Profil |
#10 · Zasláno: 17. 2. 2011, 14:46:46
Podle tohoto: vysvětlení usuzuji, že když je proměnná vytvořená mimo funkci, tak je dostupná všude a když ve funkci, tak je dostupná pouze ní. Usuzuji, že s funkcema to bude podobné a tím pádem: když bude funkce mimo jakoukoli jinou funkci, tak bude dostupná všude, ne? Ale z jQuery zavolat nejde...
|
||
Pospyrus Profil |
#11 · Zasláno: 17. 2. 2011, 15:04:09
aha, už to chápu, když jsem zkoušel vyhodit mimo, tak ty proměnny jsem nechal tam a ono to došlo k neexistující roměnné a zaseklo se...
takže teď musim všechny ty funkce a proměnny přepsat a hodit je mimo $(document).ready() diky moc |
||
Witiko Profil |
#12 · Zasláno: 17. 2. 2011, 16:18:57
Pospyrus:
Poměrně správný úsudek. Proměnné, anonymní funkce a poměrně nespolehlivě i first-class funkce jsou dostupné pouze ve kontextu v němž byly vytvořeny a veškerých jeho vnořených kontextech. var a; var b = function() { a = function() { b = "Hello world!"; } } b(); a(); alert(b); // Hello world! |
||
Časová prodleva: 13 let
|
0