Autor Zpráva
anithianis
Profil *
Např. zde nefungují odkazy (viz. "Podrobnější informace")

http://www.jakpsatweb.cz/javascript/udalosti.html
Bubák
Profil
To je sabotáž.
http://diskuse.jakpsatweb.cz/?action=vthread&forum=18&topic=111488
http://diskuse.jakpsatweb.cz/?action=vthread&forum=2&topic=97935
Chamurappi
Profil
Když už bude Yuhů sahat do stránky s událostmi, mohl by přepsat velikost písmenek v názvech událostí. Sice na tom v HTML atributech nezáleží, ale v JS pak ano:
document.getElementById("něco").onmousedown = function()
{
  alert("Kuk. Zápis s onMouseDown by tady nefungoval.");
};
Tento způsob přiřazování událostí by tam také mohl být někde zmíněn, mimochodem.
Yuhů
Profil
Já tenhle způsob přiřazování událostí neumím. Hodí se to k něčemu?
Chamurappi
Profil
Reaguji na Yuhůa:
Ano. Můžeš přiřadit událost i k elementu, který je celý vytvořený skriptem (přes document.createElement), nebo hromadně přiřadit stejnou událost skupině elementů, na které máš někde reference, nebo třeba dodatečně změnit funkci onmousedownu z toho, co už je ve stránce nastavené.

Krom toho se může hodit, že je anonymní funkce uvnitř jiné, protože pak má přístup k jejím privátním proměnným:
function priradKuk(id, text)
{
  var pocitadlo = 0;
  document.getElementById(id).onmousedown = function() 
  { 
    alert("Kuk. V proměnné text je: " + text + ", tento dialog vyskočil už " + pocitadlo + "-krát.");
    pocitadlo++;
  };
}
… něco podobného s událostí zapsanou přes atribut dost dobře udělat nejde.

Alternativou k tomuto nastavování událostí, občas zvanému též DOM 0, je metoda z DOMu 2 addEventListener, která nefunguje všude (ve starších Explorerech je ekvivalentní attachEvent) a umí toho trochu víc (tutéž událost může zpracovávat víc různých funkcí). Pro běžné používání nepotřebná komplikace. Ale ten DOM 0 se hodí velmi, používá ho i nemalé množství tazatelů na diskusi a bylo by pěkné, kdyby byl na JPW popsán. Pokud se tím nechceš zabývat, nahraď prosím alespoň ta velká písmenka.
_es
Profil
Keď už by sa vylepšovali texty na JPW, mohlo by sa zapracovať aj toto.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0