Jak Začít?

Máš v počítači zápisky z přednášek
nebo jiné materiály ze školy?

Nahraj je na studentino.cz a získej
4 Kč za každý materiál
a 50 Kč za registraci!




Logika na straněklienta, skriptovací jazyky

PDF
Stáhnout kompletní materiál zdarma (11.17 MB)

Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.

odstavec.innerHTML = "Generováno <em>skriptem</em>";

var obrazek = document.createElement("img");
obrazek.src = "...";

odstavec.appendChild(obrazek);

Javascript 

– pokročilé programování

Vytváření objektů

Prototypy a dědičnost

Události

– Event Handler
– Event Objekt
– Probublávání
– Ošetřování chyb

UD

ÁLOSTI 

Ud

álosti v javascriptu

Implicitní definice Event-handleru

Explicitní definice Event-handleru

Objekt event

Životní cyklus události

Probublávání události

Události

Události jsou generovány v uživatelském rozhraní

Máme možnost je odchytnout a napojit na nějaký 
vlastní kód

Část programu, která ošetřuje události se nazývá 
Event-Handler

Ošetření událostí

Některé události mají přiřazené implicitní akce

Tyto akce jsou volány, pokud neřekneme jinak

Příklad:

– click na odkazu způsobí přechod na jinou stránku
– click na tlačítko submit způsobí odeslání formuláře

Jestliže definujeme vlastní akci, je pořadí vykonání 

1.

vlastní definované akce

2.

implicitní akce

Registrace Event-

handlerů podle 

standardu W3C

Registruj

í se oba

Poslední argument určuje, zda se událost má 
odchytit ve fázi capture nebo bubble 
(false=bubble)

Odstranění Event-handleru

element.addEventListener('click',

doSomething, false);

element.addEventListener('click',

doSomethingElse, false);

element.removeEventListener('click', doSomethingElse, false)

Způsoby zachytávání událostí

Otázka: jestliže mám vnořený element který 
odchytává stejnou událost jako jeho nadřazený 
element, kdo to má odchytit první?

Event Capture

1.

document

2.

div 1

3.

div 2

Event Bubbling

div 2

div 1

document

document

div 1

div 2

document

div 1

div 2

Netscape

Microsoft

Propagovaní události – W3C

Kombinace capture a bubble propagace

Nejprve capture (c), pak zpětné bubble (b)

document

div 1

div 2

c 1

c 2

b 1

b 2

kuk: capture.htm

Události - příklad

var p = document.querySelector("p");

var posluchac = function() {

alert("kliknuto");

}

p.addEventListener("click", posluchac); // 

předáno odkazem

/* ... */

p.removeEventListener("click", posluchac);

Event objekt

document.body.addEventListener("click", 
function(e) {

alert(e.type);     // "click"

Témata, do kterých materiál patří