Autor | Zpráva | ||
---|---|---|---|
Lorem Profil * |
#1 · Zasláno: 11. 12. 2013, 21:25:47
Dobrý den,
mám dotaz ohledně click eventu v javascriptu. Při kliknutí na jakýkoliv odkaz se vykoná click event. Vše funguje jak má, pokud však kliknu na odkaz, který je v includovaném php souboru, javascript tento event úplně ignoruje. Setkal se s tím z vás někdo, nebo víte, jaké je řešení problému? Předem děkuji za reakce a tipy. |
||
juriad Profil |
#2 · Zasláno: 11. 12. 2013, 21:28:42
PHP s událostí klikání v javascriptu nemá vůbec nic společného. PHP se napřed celé vykoná a potom po dlouhém putování často přes půl světa se stránka zobrazí v prohlížeči a až tam můžou nastávat události kliknutí.
Nejspíš špatně includuješ ten soubor. Ukaž živou ukázku (stránku, na které se chyba projevuje). |
||
Lorem Profil * |
#3 · Zasláno: 11. 12. 2013, 21:54:10
Zkusím to trošku zjednodušit.
- V Indexu (v hlavě) je naincludován jQuery. - V Indexu (v patě) je naincludován JS s $('a').on('click', function () {... eventem. - Po kliknutí na odkaz event jednoduše ajaxem zavolá PHP script, do něhož se podle url (které dostal z ajaxu) naincluduje konkrétní soubor (např. text s odkazy). - To vše se následně zapíše do divu a změní url. - Vše funguje jak má, jen odkazy v tom includovaném souboru event úplně ignoruje. Když zruším jednu úroveň includování, tak už je vše ok, ale co se přehlednosti v kódu týče, je to ještě horší, jak kdyby to nefungovalo :( |
||
juriad Profil |
#4 · Zasláno: 11. 12. 2013, 21:58:52
To je tím, že příkaz
$('a').on('click', function () { Odkazy, které vzniknou později, třeba vložením odpovědi ze serveru do divu, toto vůbec neovlivňuje, ani nemůže. |
||
Lorem Profil * |
#5 · Zasláno: 11. 12. 2013, 22:03:38
aahaa, takže k řešení problému by mělo stačit, aby se při vytvoření nových odkazů pouze aktualizoval i celý script?
Případně je nějaké šetrnější řešení? Mockrát děkuji |
||
juriad Profil |
#6 · Zasláno: 11. 12. 2013, 22:14:35
Přečti si kapitolu Direct and delegated events v dokumentaci .on().
Nejspíš tedy chceš něco jako: $(document).on('click', 'a', function() { JQuery však neznám tak dobře, nevím jestli je to dobrý nápad. Nezapomeň také na to, že stránky pro uživatele bez JS a vyhledávače nebudou (dost pravděpodobně) fungovat. |
||
Lorem Profil * |
#7 · Zasláno: 11. 12. 2013, 22:17:09
Prostuduji a uvidím, co se dá dělat.
Co se vyhledávače týče, tak je to vše v pořádku. Aplikace je podmíněná přihlášením a indexování zakázáno. Ještě jednou děkuji za pomoc. |
||
Časová prodleva: 10 let
|
0