jQuery

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Oggy
Člen | 306
+
0
-

Jen se chci zeptat na tip ohledně nějakých jak začátečnickcýh tak pokročilejších materiálů na učení jQuery.

Lopata
Člen | 139
+
0
-

Pokud umíte anglicky, tak na oficiálních stránkách je docela dobrý tutoriál.
Ještě doporučuji learningjquery.com

Cifro
Člen | 245
+
0
-

A ja doporučujem toto: jQuery for Absolute Beginners” Video Series

Mne táto seria videii veľmi pomohla.

Mortaelth
Člen | 24
+
0
-

Netušíte někdo zkušenější jak donutit Jquery dialog k vrácení true/false?

chci mit obdobu standardniho js confirmation na nasledujicim odkazu:

<a href=‚{link deleteItem! $item[„idItem“]}‘ onclick=„return deleteItem();“>smazat</a>

<script>
function deleteItem() {

		jQuery("#dialog-confirm").dialog({

			resizable: false,
			height:180,
			modal: false,
			buttons: {
				'Smazat': function() {

				 	var res = true;
					$(this).dialog('close');
					return true;
				},
				Storno: function() {
					var res = false;
					$(this).dialog('close');
					return false;
				}

			}

	});

	return false;
}
</script>

Toto řešení nefunguje, protože JS nečeká na zmáčknutí tlačítka a vrátí okamžitě false.

Mortaelth
Člen | 24
+
0
-

povedlo se mi to takto:

<script>
...
'Smazat': function() {

	window.location.href = 'http://example.com/someUrl/kategory?idItem='+id+'&do=deleteItem';
	$(this).dialog('close');
},
...
</script>

ale moc se mi takove reseni nelibi… nevíte někdo jak na to?

Honza Kuchař
Člen | 1662
+
0
-

jquery nepoužívá blokování JavaScriptového enginu → používá callbacky

v6ak
Člen | 206
+
0
-

Ono by se to blokování JS engine dělalo dost blbě, tedy spíš by to dokonce nešlo. JS je jednovláknový a Workers tomu zde taky nepomohou.

Honza Kuchař
Člen | 1662
+
0
-

v6ak napsal(a):

Ono by se to blokování JS engine dělalo dost blbě, tedy spíš by to dokonce nešlo. JS je jednovláknový a Workers tomu zde taky nepomohou.

// Zkus toto
alert("test"); // Dokud neodklikneš ok tak se pozadí neobarví červeně (zablokuje se vykonávání javascriptu)
//popřípadě
confirm("test"); // Dokud na to neklikneš, tak nebude pozadí červené
$("body").css("background-color","red");
Panda
Člen | 569
+
0
-

Blokování v JavaScriptu samozřejmě jde, ale JS na stránce běhá spolehlivě opravdu jen jednovláknově – když bude vlákno JavaScriptu zablokované, kdo se bude starat o ten JavaScriptový dialog, který vznikne? Nějaké jednoduché vláknování v JavaScriptu sice udělat jde, ale je to hodně závislé na prohlížeči.

lactarius
Člen | 47
+
0
-

Mortaelth napsal(a):

Netušíte někdo zkušenější jak donutit Jquery dialog k vrácení true/false?

chci mit obdobu standardniho js confirmation na nasledujicim odkazu:

<a href=‚{link deleteItem! $item[„idItem“]}‘ onclick=„return deleteItem();“>smazat</a>

Tady je alternativa , ale moc bych tomu nevěřil, alert, confirm a prompt pocházejí přímo z javascriptu – to funguje naprosto spolehlivě. S tím UIDialogem jsem to řešil následovně – zapomeň na jeho tlačítka a na ten dialog umísti form. Když ten dialog navíc uděláš modální, máš z toho krásnou alternativu confirmu.
Umístil bych sem kód, ale nechci dostat vynadáno za románovej příspěvek.

Jinak co psal Oggy ohledně materiálů k Javascriptu – učiva a příkladů je strašně moc – pro mě je vždycky základ moct si tu kterou funkci hned v praxi vyzkoušet (nejen v jQuery) – mně se hrozně líbí tahle zkoušečka (musím poslat dík autorovi – výbornej nápad) – dokonce si tam můžeš i nastavit verzi.

v6ak
Člen | 206
+
0
-

Přesně, alert, confirm a prompt jsou vestavěné. Pokud bych chtěl vykreslit dialog pomocí HTML a zároveň blokovat vlákno (což je mimochodem nejlepší způsob, jak prohlížeč přimět, aby navrhl jeho odstřel), nemám to vlákno jak probudit, protože události jako klik by byly zpracovány až po dokončení vlákna.