Autor Zpráva
pospyrus
Profil *
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
pospyrus:
kam se píší funkce v jQuery
Čo myslíš „funkciou v jQuery“?
Chamurappi
Profil
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
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
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
tak kam to mám teda napsat tu funkci, aby to šlo spustit všude?
_es
Profil
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
takže něco takovyho?

var funkce = function () {
    alert("pokus")
};

new funkce();
Chamurappi
Profil
Reaguji na Pospyra:
Ne. Což takhle si nastudovat základy místo tohohle střílení náhodně nalezených kousků kódu?
Pospyrus
Profil
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
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
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!

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: