В чем разница между событиями keyup, keydown, keypress и input?



Я пытался понять события нажатия клавиш jQuery, keydown, keyup иinput . Но я нашел их довольно запутанными. Не мог бы кто-нибудь указать на точные различия ? Также я хотел бы знать, все ли они срабатывают, когда пользователь вставляет кусок текста .

Спасибо

652   1  

1 ответ:

Согласно jQuery docs:

Событиеkeypress передается элементу, когда браузер регистрирует ввод с клавиатуры. Это похоже на событиеkeydown , за исключением того, что модификатор и непечатаемые клавиши, такие как Shift, Esc и delete, запускают события keydown, но не события нажатия клавиш. Другие различия между этими двумя событиями могут возникнуть в зависимости от платформы и браузера.

Событиеkeyup отправляется элементу, когда пользователь выпускает клавиша на клавиатуре.

Событиеoninput - это событие, которое срабатывает при каждом изменении входных данных.

Однако событие ввода не поддерживается в IE версии ниже 9. В этом случае вы можете использовать проприетарное событие onpropertychange, оно делает то же самое, что и oninput.

Но в вашем случае вы можете использовать событие вставить и изменить вместе. Вы также должны использовать change , потому что paste происходит только в браузерах, которые его поддерживают на явной пасте.

Comments

    Ничего не найдено.