Autor | Zpráva | ||
---|---|---|---|
ybznek Profil |
#1 · Zasláno: 16. 6. 2011, 08:49:45 · Upravil/a: ybznek
vysvětlím na příkladu:
$("#content").html('<span id="idcko">a</span>'); $("#idcko").click(function(){ //akce }); Nechme stranou, že by se neměla měnit DOM struktura. Jde o to, že se mi na takhle podobně vepsaný kód neaplikujou potřebné události funguje to, pokud mám $("#content").html('<span id="idcko">a</span>'+'<script type="text/javascript"> $("#idcko").click(function(){ /*akce*/ });</script>'); v dokumentaci jsem nenašel, žeby metoda html() měla nějaký callback. nemáte nějaké "správnější" řešení? edit: ještě by se teoreticky daly přidat události do kódu a pak kód s událostmi vložit do stránky ale já chci spíše "počkat" dokud do kódu události nepůjdou vkládat |
||
joe Profil |
#2 · Zasláno: 16. 6. 2011, 08:55:27
Takhle by to mělo fungovat
$("#idcko").live("click", function (event) { // akce }); |
||
_es Profil |
#3 · Zasláno: 16. 6. 2011, 09:11:47
ybznek:
Takéto veci idú, úplne jednoducho, v skoro všetkých prehliadačoch rovnako, spraviť aj bez jQuery. „funguje to, pokud mám“ Keď už to riešiš takým spôsobom, prečo nepoužiješ atribút onclick ?
|
||
ybznek Profil |
#4 · Zasláno: 16. 6. 2011, 09:26:43
_es:
protože to byl příklad joe: možná by to šlo, ale toho kódu už je poměrně více, co se provádí a potřebuju to nějak centrálně |
||
Chamurappi Profil |
#5 · Zasláno: 16. 6. 2011, 09:34:23
Reaguji na ybznka:
„v dokumentaci jsem nenašel, žeby metoda html() měla nějaký callback“ Změna innerHTML probíhá okamžitě, není nutný callback.
„ale já chci spíše "počkat" dokud do kódu události nepůjdou vkládat“ Jestli toho je víc, vyrob si funkci, které předáš selektor a HTML kód, ona přepíše innerHTML a nastaví potomkům přepsaného elementu patřičné události.
|
||
joe Profil |
#6 · Zasláno: 16. 6. 2011, 09:51:48
ybznek:
Nerozumím, pokud nastavíš události (třeba ten click) přes funkci live, nebudeš ji těm nově vytvořeným elementům se stejným ID (správně by ID mělo být jen jedno) už muset přiřazovat, dejě se to automaticky. Takže nejlepší bude, když projdeš elementy v tom HTML kódu který vkládáš a nastavíš elementům to, co potřebuješ (vlastně to už Chamurappi napsal) |
||
Časová prodleva: 13 let
|
0