Onclick z klávesnice

Při začleňování nějaké JS události vyvolávané kliknutím (onclick) je třeba brát v úvahu, že uživatel navigující se klávesnicí (což například u formulářů nemusí být marginální procento) některé onclicky běžně nevyvolá nebo je dokonce vůbec vyvolat nemůže.

  1. <span> s tabindexem,
  2. <span> bez tabindexu,
  3. odkaz <a> bez tabindexu.

Poznámky

  • Při přechodu mezi políčky klávesou Tab se onclick nevyvolá. Při skočení do políčka se ale vyvolá onfocus.
  • Běžné (neformulářové) elementy jde rozonclickovat přidáním tabindexu.
  • Opera umí vyvolat onclick z klávesnice snad úplně na čemkoliv mimo elementů, kam se píše text (<input type=text>, <textarea>) nebo <select>u. (Při procházení Tabem (když je element otabindexovaný) i přes Shift.) Dokonce ten onclick vyvolá na <option>u, i když se jen vybere šipkami ze <select>u (bez nějakého výběru z roletového seznamu).
  • IE v quirku to umí snad na všem, čemu se přidá tabindex. A na většině <input>ů (snad mimo radio a checkbox). Na <select>u ne.
  • Explorer ve standardním režimu navíc onclickuje i na <input type=text>.
  • Firefox a Chrome se chovají víceméně podobně. Onclickují na odesílacích prvcích (<input type=image|submit|button>, <button>) a odkazech.
  • Chrome nekliká na <option>ech.

To je všechno. Líbil se vám článek a chcete se dozvědět, až vyjde další?

Sledujte:

 

Připomínky mi pište do komentářů ↓

Zapamatování formulářových polí

Automatické zapamatování formulářů

Při vyplňování delších formulářů se je hodí obsah průběžně ukládat. Jak na to?

AJAX upload souborů

Upload souborů bez obnovení stránky

Jak vytvořit ajaxové nahrávání souborů na server bez obnovení stránky.

Plynulý přesun focusu

Plynulý přesun focusu

Plynulé přesouvání focusu mezi jednotlivými položkami formuláře.

Zvyšování hodnoty inputů

Zvyšování hodnoty inputů

Jak zpříjemnit zadávání číselných hodnot nebo času do <input>ů tlačítky plus a mínus.

Duplikování položek formuláře v JS

Přidání dalšího textového pole

Jak umožnit kopírování/přidávání dalších textových polí do formuláře.

Komentáře