Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Горячие клавиши 
:(
    Опции темы
Innuendo
Дата 15.2.2006, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 24.12.2005
Где: Молдова

Репутация: 2
Всего: 6



Видел тему в FAQ, но там чё-то ответа не нашел.
У меня отловка событий, для тегов быстрой формы ответа. Ставить Ctrl+Alt не удобно (слишком длинно), ALT- если браузер на английском, то он будет менюшки сверху открывать, и CTRL - етсь зарезервированные горячие клавиши.
Как блокировать стандартные события CTRL(печать, ъистори, журнал и т.д... ну вот как на этом форуме к примеру)
Вот как выглядят мои кнопки:
Код

document.onkeydown=function(e){
if (e) event=e
if ((event.keyCode==13)&&(event.ctrlKey)){
      document.REPLIER.submit.click();
}
if ((event.keyCode==66)&&(event.ctrlKey)){
      eval("copyT('B');insTxt()");
}

if ((event.keyCode==85)&&(event.ctrlKey)){
      eval("copyT('U');insTxt()");
}

if ((event.keyCode==73)&&(event.ctrlKey)){
      eval("copyT('I');insTxt()");
}

if ((event.keyCode==81)&&(event.ctrlKey)){
      eval("copyT('QUOTE');insTxt()");
}

if ((event.keyCode==80)&&(event.ctrlKey)){
      eval("copyT('IMG');insTxt()");
}
if ((event.keyCode==76)&&(event.ctrlKey)){
      eval("copyT('URL');insTxt()");
}
if ((event.keyCode==67)&&(event.ctrlKey)){
      eval("copyT('CODE');insTxt()");
}
if ((event.keyCode==72)&&(event.ctrlKey)){
      eval("copyT('HTML');insTxt()");
}
if ((event.keyCode==82)&&(event.ctrlKey)){
      eval("copyTC('RED');insTxt()");
}
}



--------------------
=)
PM MAIL ICQ Jabber   Вверх
12345c
Дата 15.2.2006, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Выполнять event.returnValue=false; (для всех бр.)


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
Innuendo
Дата 15.2.2006, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 24.12.2005
Где: Молдова

Репутация: 2
Всего: 6



а где это вставить?


--------------------
=)
PM MAIL ICQ Jabber   Вверх
12345c
Дата 15.2.2006, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



В document.onkeydown=function(e){} , в любом месте


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
Innuendo
Дата 15.2.2006, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 24.12.2005
Где: Молдова

Репутация: 2
Всего: 6



не помогло smile


--------------------
=)
PM MAIL ICQ Jabber   Вверх
12345c
Дата 15.2.2006, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Но Ctrl-F у меня точно помню, что блокировало (ie). Остальные, может, не все имеют такое свойство? Также блокировались всякого рода прокрутки и хождения по истории страниц (Alt - <== , BaackSpace)


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
Innuendo
Дата 15.2.2006, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 24.12.2005
Где: Молдова

Репутация: 2
Всего: 6



я пробовал в Мозилле. Ctrl+b, Ctrl+H, ctrl+U не блокировало.. остальное не пробовал smile


--------------------
=)
PM MAIL ICQ Jabber   Вверх
Innuendo
Дата 16.2.2006, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 24.12.2005
Где: Молдова

Репутация: 2
Всего: 6



smile никто не знает?


--------------------
=)
PM MAIL ICQ Jabber   Вверх
Sardar
Дата 19.2.2006, 03:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Innuendo, читаем доку млин smile
Для оперы 6+ или не IE ловим document.onkeypress. Для ИЕ ловим document.onkeydown.

В конце обработчика события такая магия:
Код
evt.cancelBubble = true; //что бы на window не убежало, некоторые там слушают
if(evt.stopPropagation) evt.stopPropagation(); //отрубаем bubble в W3C браузерах
evt.returnValue = false; //отрубаем дефолтовое действие в IE
if(evt.preventDefault) evt.preventDefault(); //отрубаем дефол. дей. в W3C браузерах
return false; //традиционный способ отрубить деф. действие


Для нового дизайна писал код для работы с "горячими клавиашами", советую пользовать, удобно smile
http://forum.vingrad.ru/index.php?showtopic=84449


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
12345c
Дата 19.2.2006, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



О, ценное замечание, а то пробовал, а preventDefault() как раз не хватало.
Но заметил такую вещь в оболочке GreenBrowser (2.4 0323) - в нём не перехватываются клавиши типа Ctrl-N, Ctrl-F этим кодом:
(в IE6, FF всёнормально)

Код
<textarea rows=20 onkeypress=ff(event,this) onkeydown=ff(event,this)></textarea>

<script>d=document;
ff=function(e,t){
    //if(!e)e=event;
    t.value+=e.type+' ';
e.cancelBubble = true; //что бы на window не убежало, некоторые там слушают
if(e.stopPropagation) e.stopPropagation(); //отрубаем bubble в W3C браузерах
e.returnValue = false; //отрубаем дефолтовое действие в IE
if(e.preventDefault) e.preventDefault(); //отрубаем дефол. дей. в W3C браузерах
//return false; //традиционный способ отрубить деф. действие
}
</script>
У него есть и другие особенности - несрабатывание onbeforeunload, так что это может быть непринципиально и отнесено к недостаткам разработчиков, а не браузера : ).

Это сообщение отредактировал(а) 12345c - 19.2.2006, 10:17


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
Loengreen
Дата 21.12.2007, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 13.7.2007

Репутация: нет
Всего: нет



А можно ли перехватить ctrl + v для IE? В ff все ок.
PM MAIL   Вверх
Avb
Дата 8.1.2008, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 5.7.2006

Репутация: 4
Всего: 13



Loengreen, думаю ответ Вы сможете найти в этом топике http://forum.vingrad.ru/forum/topic-175929.html
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.3801 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.