Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » При нажатии Ctrl+V выполняется собственный JavaScript

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

Daiz13



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Хочется чтобы при нажатии Ctrl+V выполнялся собственный JavaScript, это возможно?
 

Всего записей: 257 | Зарегистр. 06-06-2001 | Отправлено: 14:06 27-02-2004
M AIR J



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Daiz13, при нажатии на одну кнопку знаю как

Код:
 
<script>
function key()
{
var k=window.event.keyCode;
if (k==86) // буква V
alert("test")
}
document.onkeydown=key;
</script>
 

но чтобы комбинация клавишь была не встречал нигде, хотя наверное может и есть способы, запоминать значения двух последовательно нажатых клавишь и сравнивать их, если k==17(Ctrl) && l==86(V), то выполнить функцию, иначе обнулить буфер и начинать заново сравнивать следующие два нажатия, хотя я наверное бред несу уже... :-\


----------
MJ

Всего записей: 215 | Зарегистр. 07-04-2003 | Отправлено: 04:26 28-02-2004
Svarga

Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
M AIR J

Цитата:
но чтобы комбинация клавишь была не встречал нигде

я что-то тоже перекопался — не получается...
 

Цитата:
 хотя наверное может и есть способы, запоминать значения двух последовательно нажатых клавиш

нет, есть window.event.ctrlKey (по теории ctrlKey и keyCode можно вместе использовать), но пробовал тестить:

Цитата:
<center>
<form><textarea onDblClick="this.value=''" style="width:50%;height:300px"></textarea></form>
<SCRIPT>
var d=document
var F=d.forms[0].elements[0]
function checkKey(){
        var evt=window.event
        ctrl=evt.ctrlKey&&!evt.shiftKey&&!evt.altKey
        k=evt.keyCode
        k=String.fromCharCode(k)
        k=('v'==k||'V'==k||'М'==k||'м'==k)
        F.value+='evt.ctrlKey = '+ctrl+' && '
        F.value+='V = '+k+'\n='+(ctrl&&k)+'\n_____________________\n\n'
        if(ctrl&&k)alert('ctrl + V !!!')
}
d.onkeypress=checkKey
</SCRIPT>
</center>
вылавливается ctrl+v только в Опере...
 
Должно же что-то быть...

----------
away.

Всего записей: 4161 | Зарегистр. 25-06-2002 | Отправлено: 08:28 28-02-2004 | Исправлено: Svarga, 16:37 29-02-2004
theIggs



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вспомнил про свои эксперименты:
onKeyPress='if (event.keyCode==10 || (event.ctrlKey && event.keyCode==13)) this.form.submit.click()'
(отправка поста по Ctrl+Enter)
 
Отсюда выводы:
У Мозиллы и её братьев проверяем event.ctrlKey и одновременно keyCode (только у V будет не 13, а другое число);
а у IE вообще фиг знает что может быть. В данном случае keyCode=10, что возникает и при Ctrl+Enter, и при Ctrl+J
 
Вывод: под IE делаем onKeyPress='alert(event.keyCode)' и смотрим сами.

----------
Русская поддержка по IP.Board на IBResource.ru.
Для счастья нужно: национальный трекер и поисковик!

Всего записей: 1114 | Зарегистр. 13-11-2002 | Отправлено: 14:21 29-02-2004
Daiz13



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
До event.ctrlKey и keyCode я уже докопался, проблема в том что эти события не срабатывают в IE при стандартных комбинациях клавиш типа Ctrl+V, Ctrl+C, Ctrl+A

Всего записей: 257 | Зарегистр. 06-06-2001 | Отправлено: 11:42 01-03-2004
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » При нажатии Ctrl+V выполняется собственный JavaScript


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru