JavaScript – suštění příkazu při kliknutí myši
Vážení čtenáři, vítám vás v jedenáctém díle seriálu o JavaScriptu. V tomto díle se budu věnovat tomu, jak spustit příkaz, když kliknu myší ve webové stránce. Postupně rozeberu, jak zareagovat na kliknutí myší na tlačítko, odstavec a obrázek.
Dost teorie, a zkusme hned nějaký příklad. Již dříve jsem používal spouštění příkazu při kliknutí myší na tlačítko. Bylo to zapsané asi takto:
|
A takto to vypadá:
Pokud tedy chcete, aby byl spuštěn nějaký příkaz při kliknutí na tlačítko, napište ho jednoduše za onClick= do uvozovek. Atribut onClick ale nemusíte použít jenom u tlačítka, ale třeba i u odstavce, obrázku, apod. Tak je to alespoň psáno v normě pro HTML jazyk verze 4 (viz stránky W3 consorcia). Bohužel, prohlížeče Netscape si z norem HTML moc starosti nedělají, a navíc se již několik let nevyvíjí. A tak v Netscape vám kliknutí bude opravdově pracovat jenom u toho tlačítka. Naštěstí je tu už nástupce Netscape, který se jmenuje Mozilla, a je k dispozici zdarma a pro všechny možné platformy včetně Linuxu a Windows.
To jsem ale odbočil. V internet Exploreru a každém jiném prohlížeči, který dodržuje normu HTML verze 4 můžete snadno zareagovat třeba při kliknutí na odstavec pomocí tohoto úseku HTML:
|
A tady si to můžete zkusit (nepracuje v Netscape):
Pokud kliknete na tento odstavec, uvidíte okno.
O trochu níže jsem trochu zkritizoval prohlížeče Netscape. Protože se ale zatím používají, je potřeba se s nimi také vypořádat. Naštěstí i tam lze jistým trikem zařídit, aby se dalo kliknout na odstavec, nebo obrázek. Ale musí se na to trochu jinak (tento způsob samozřejmě pracuje i v ostatních prohlížečích, nejenom v Netscape):
|
A tady si to můžete zkusit (pracuje i v Netscape):
Pokud kliknete na tento odstavec, uvidíte okno.
Vlastní vysvětlení triku je jednoduché. V HTML totiž existují hypertextové odkazy pomocí značky <a>. A ty odkazy se chovají tak, že při kliknutí na něj se něco provede (nejčastěji otevře jiná stránka, ale klidně se třeba spustí i příkaz v JavaScriptu). Takže jsem celý odstavec uzavřel mezi <a> a </a>. Tím jsem získal možnost reagovat na kliknutí na odstavec i v Netscape. Jenomže mi vznikl druhý problém, a to je ten, že odstavec mi zobrazí podtrženým písmem, kurzívou a modře. Abych se vyhnul i tomu, použil jsem kaskádové styly CSS, kterým jsem nastavil vzhled odstavce. Podrobnější popis kaskádových stylů CSS běží v seriálu v tomto časopisu a proto vás odkazuji na tento seriál.
Jak sami vidíte, v Netscape řešit kliknutí na odstavec není nic moc. Ještě častým problémem, který se řeší, je spuštění příkazu v JavaScriptu při kliknutí na obrázek. Pokud nepoužívate Netscape, snadno to vyřešíte pomocí onClick=. Protože ale většina z nás stojí o čtenáře všech prohlížečů, je potřeba to napsat tak, aby to pracovalo i v Netscape. Naštěstí to jdete podobným trikem jako u odstavce, a dokonce se ani nemusejí používat kaskádové styly CSS:
|
Princip je v tom, že vlastní obrázek je uzavřen mezi značkami <a> a </a>. Protože ale prohlížeč by obrázek ohraničil modrým obdélníkem, použil jsem u značky <img> atribut border nastavený na nulu, který tento efekt ruší. A pracuje to i v Netscape! Zde si to můžete zkusit (stačí kliknout na obrázek):
A to je pro tento díl vše.
Starší komentáře ke článku
Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.
Mohlo by vás také zajímat
-
Monitory OLED: klíčové pojmy a funkce
13. května 2024 -
Zvýšení výkonu WiFi signálu: Jak a proč používat WiFi zesilovače
28. června 2023 -
Umělá inteligence v IT
27. září 2023
Nejnovější
-
Výkonný a kompaktní: ASOME Max Studio s výjimečným poměrem cena/výkon
11. listopadu 2024 -
Šokující data od Microsoftu: Kyberútoky rostou o stovky procent!
8. listopadu 2024 -
Chcete jedinečnou doménu? Objevte koncovky FOOD, MEME a MUSIC!
7. listopadu 2024 -
OpenAI představilo novou funkci ChatGPT Search
6. listopadu 2024