Autor Zpráva
rihot
Profil
Zdravím, mám menší problém při v Jquery při funkci click.
Odkaz na živou ukázku
Problém je v tom že na vložené věci funkce click už prostě nefunguje :(
Uvítám každou radu děkuji :)
$("input").click(function () { 

	$(this).css("position", "absolute");

	
	$("input").addClass("hilite");
	
	var hodnotaID = $(this).attr("id");
	
	$(this).animate({
		top: -500
	}, {
		duration: 500
	});
	
	$(this).removeClass("hilite");
	
	$(".hilite").hide(500, 0);
	
	
	$(this).delay(500).queue(function(n) {
    	$(this).animate({
		left: +300
		} , {
		duration: 200
		});
    n();
	});
	
	$("#odpovedi").delay(1000).queue(function(n) {
		switch(hodnotaID) {
			case "1": $("#odpovedi").prepend(odp3 + odp4 + odp5 + odp6); break;
			case "2": $("#odpovedi").append(odp3 + odp15); break;
		}
    n();
	});
	
	
	
});
shaggy
Profil
rihot:
Problém je, že používaš
.click
- to funguje len pre existujúce elementy.
Ak to chceš použiť aj na dynamicky generované elementy, použi delegate, alebo live.
A tu je dobrý článok o rozdieloch medzi .bind, .live a .delegate.
rihot
Profil
shaggy:
prosím tě, myslíš že by jsi mi to mohl opravit?
Zkoušel jsem
$("body").delegate("input", "click", function () { 
...

ale to mi nefunguje :(
pcmanik
Profil
shaggy:
Uz by bolo dobre vyuzivat nove metody on a off.
shaggy
Profil
pcmanik:
Máš pravdu, vyšla nová verzia, ktorú som ani nezaregistroval, ktorá prináša nové metódy, ktoré nepoznám a on používa verziu, ktorá nepodporuje. Určite bude najlepšie používať tie metódy, ktoré odporúčaš.

rihot:
Možno by sa hodilo upraviť živú ukážku, aby sme si to vedeli pozrieť.
rihot
Profil
Už jsem to vyřešil :)
Mám ještě jeden problém, jak docílím toho aby mi tam zůstal ten element nahoře, když pak vyberu zase něco jiného?
Ukázka
$("body").on("click", "input", function () { 
	$(this).addClass("noerase");
	$("input").addClass("hilite");
	$(".hilite").hide(1, 0);
	var hodnotaID = $(this).attr("id");
	$(this).css("position", "absolute");
    $(this).animate({
		top: -500
	}, {
		duration: 1200
	});
	
	$("#odpovedi").delay(3000).queue(function(n) {
		switch(hodnotaID) {
			case "1": $("#odpovedi").append(odp3 + odp4 + odp5 + odp6); break;
			case "2": $("#odpovedi").append(odp3 + odp15); break;
			case "3": $("#odpovedi").append(odp9); break;
			case "4": $("#odpovedi").append(odp13 + odp14); break;
			case "5": $("#odpovedi").append(odp11 + odp10 + odp12); break;
			case "6": $("#odpovedi").append(odp8 + odp7); break;
			case "8": $("#odpovedi").append(odp9); break;
			case "9": $("#odpovedi").append(odp10); break;
			case "13": $("#odpovedi").append(odp21); break;
			case "14": $("#odpovedi").append(odp19 + odp18); break;
			case "15": $("#odpovedi").append(odp10); break;
			case "16": $("#odpovedi").append(odp10); break;
			case "17": $("#odpovedi").append(odp16 + odp43); break;
			case "18": $("#odpovedi").append(odp17); break;
			case "19": $("#odpovedi").append(odp13); break;
			case "20": $("#odpovedi").append(odp21); break;
			case "21": $("#odpovedi").append(odp22 + odp32); break;
			case "22": $("#odpovedi").append(odp26 + odp23); break;
			case "23": $("#odpovedi").append(odp25 + odp24); break;
			case "24": $("#odpovedi").append(odp33 + odp38); break;
			case "25": $("#odpovedi").append(odp31); break;
			case "26": $("#odpovedi").append(odp25 + odp24); break;
			case "27": $("#odpovedi").append(odp14); break;
			case "28": $("#odpovedi").append(odp27 + odp71); break;
			case "29": $("#odpovedi").append(odp5); break;
			case "30": $("#odpovedi").append(odp28); break;
			case "31": $("#odpovedi").append(odp28); break;
		}
    n();
	});	
	
});

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:

0