KeyDown подія відбувається при натисканні на клавішу, а потім відразу ж подія натискання клавіші. Потім клавіатура подія генерується при ключа.
Щоб зрозуміти різницю між клавіатурою та натисканням клавіші , корисно розрізняти символи та клавіші . Ключ є фізичною кнопкою на клавіатурі комп'ютера. Символ є символом набраний натисканням кнопки. На клавіатурі в США натискання 4клавіші, утримуючи Shiftклавішу, зазвичай видає символ "знак долара". Це не обов'язково має місце на кожній клавіатурі у світі. Теоретично подія клавіш і клавіш події являють собою ключі натиснуті або відпущені, в той час як натискання клавіші представляє символ, який вводиться. На практиці це не завжди так, як це реалізується.
Деякий час броузери одразу після натискання клавіші розпочали додаткову подію під назвою textInput . Ранні версії стандарту DOM 3 передбачали це як заміну події натискання клавіші , але все поняття пізніше було відкликано. Webkit підтримував це між версіями 525 та 533, і мені кажуть, IE підтримував це, але я ніколи цього не виявляв , можливо, тому, що Webkit вимагав, щоб його називали textInput, тоді як IE називав це textinput .
Існує також подія під назвою введення , підтримувана всіма браузерами, яка запускається відразу після внесення змін у поле текстової області або поля введення. Зазвичай натискання клавіші буде спрацьовувати, тоді введений символ з'явиться в текстовій області, після чого введення запуститься. Вхід подія фактично не дає ніякої інформації про те, що було надруковано ключ - ви повинні перевірити текстове поле , щоб зрозуміти це , що змінилося - так що ми на самому ділі не вважаємо це ключовою подією і справді не документувати його тут . Хоча він спочатку був визначений лише для текстових областей та полів для введення даних, я вважаю, що є певний рух у напрямку узагальнення його для стрільби по інших типах об'єктів.