Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Обработка событий контекстного меню. (https://javascript.ru/forum/misc/45197-obrabotka-sobytijj-kontekstnogo-menyu.html)

grifangel 18.02.2014 17:34

Обработка событий контекстного меню.
 
Такой вопрос возник, можно ли обработать события onpaste, oncut на чистом js, которые были вызваны только через контекстное меню, т.е. без нажатия ctrl+v итд? Ну или наоборот только через клавиши без контекстного меню? Ну и еще такой вопрос, можно ли как-нибудь обработать нажатие клавиши delete в контекстном меню? Спасибо.

рони 18.02.2014 17:47

grifangel,
:-?
<input name="" oninput="alert(this.value)">

danik.js 18.02.2014 18:10

Цитата:

Сообщение от grifangel
только через контекстное

Очевидного способа нет. Есть событие contextmenu, но нет события contextmenuclose, поэтому отпадает. Думаю единственный вариант - ловить событие keydown, фильтровать нужные сочетания (хотя это лишнее) и засекать время между этим событием и событием paste/cut/copy. Если время нулевое - то значит событие вызвано клавишами. Если нет - соответственно через меню или еще как-то. Хотя можно просто делать нулевой setTimeout() и проверять, было ли событие cut/paste (скажем завести флаг для этих целей).

Цитата:

Сообщение от grifangel
можно ли как-нибудь обработать нажатие клавиши delete

Через input только (смотри пример рони)


Часовой пояс GMT +3, время: 18:21.