JQuery nefunkční funkce click(), jak to? – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

JQuery nefunkční funkce click(), jak to? – JavaScript, AJAX, jQuery – Fórum – Programujte.comJQuery nefunkční funkce click(), jak to? – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Franceq+1
Stálý člen
15. 3. 2012   #1
-
0
-

Bujďte pozdraveni,

mám následující problém (zdrojový kód pošlu, pokud budete potřebovat).... :

Vyrobil jsem si v jQuery hru, která vypadá následovně: mám DIV s nějakými rozměry, které nejsou pro budoucí řešení problému důležité, tento DIV funguje jako mapa pro vykreslování grafiky. Napsal jsem v jQuery funkci (objekt), který při zavolání vytvoří DIV v našem vykreslovacím DIVu a vytvoří objekt, který zodpovídá za chování tohoto DIVu (mění jeho polohu v časovém intervalu (vytváří pocit, že tento DIV padá)). Vše funguje krásně, DIVy se generují a padají jak mají, ale problém je  vtom, že pokud se ptám, jestli se na některý z nich kliklo, tak jQuery je hluché, neodpovídá. Ptám se následovně:   $('#IdVykreslovacihoDIVu  div').click(function(){///tělo funkce, která se nikdy neprovede...}); obešel jsem to provizorním řešením, protože jsem si všiml, že css efekty fungují normálně, tak jsem změnil při hoveru barvu v rgb o 1, takže nebyl vidět rozdíl, napsal jsem keylistener, který při kliknutí na dokument prošel všechny divy ve vykreslovacimDIVu a zjistil, který má jinou barvu kvůli tomu hoveru....což v podstatě nahradilo kliknutí na div...ale přecejenom je to těžkopádné a nefunkční na dotykových zařízeních, navíc mě neuvěřitelně zajímá, kde mistr tesař udělal chybu....pokud někdo z vás bude od té dobroty a poradí mi, budu neskonale vděčný....

Ještě dodám, že jsem zkoušel DIV zastavit, jestli to nemůže být třeba tím, že je  v pohybu, ale ukázalo se, že problém zůstává....dále Vykreslovací DIV má pozici relative a DIVy co se generují maji polohu absolute...dal jejich polohu měním tak, že měním hodnoty top: Xpx; přes jQuery metodu CSS....kdyby jste potřebovali další podklady, tak si řekněte

EDIT: teď jsem zkoušel do konzole vypisovat přes funkci mouseenter elementy, na ktere najiždím a tyhle DIVy to vůbec nezaregistrovalo...jako by tam nebyly...

Nahlásit jako SPAM
IP: 31.133.8.–
Reklama
Reklama
Řešení
kavva+4
Návštěvník
15. 3. 2012   #2
-
+1
-
Zajímavé
Vyřešeno Nejlepší odpověď

Ahoj, kde mas definovane to "$('#IdVykreslovacihoDIVu  div').click(function(){///tělo funkce, která se nikdy neprovede...});"? Ak to mas na zaciatku scriptu, tak neviem ci to event listener zachyti, kedze ten div este neexistuje.

Ale asi sa mylim. 

Skus to spravit este bindom a ten bind nahodit pri vykresleni toho vnutorneho divu. Cize nieco na styl:
 

function vykresliDiv() {
	vlozDivDoVykreslovaciehoDivu();
	$('#IdVykreslovacihoDIVu  div').bind('click',function(){
		alert('klikam')
	});
}

Aby tam proste bola postupnost.. 

Nahlásit jako SPAM
IP: 195.212.29.–
Franceq+1
Stálý člen
15. 3. 2012   #3
-
0
-

Měl si pravdu, pomohlo strčit tu funkci do funkce pro vykreslení, už to funguje, děkuji

Nahlásit jako SPAM
IP: 31.133.8.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 21 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý