Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Небольшой скрипт, для привязки к клавишам.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: В скрипте показано как при помощи Ctrl+* выполнять различные операции и текстовом поле.
-SCHATTEN-
Отправлено: 08 Апреля, 2007 - 12:53:00
Post Id



Пользователь


Покинул форум
Сообщений всего: 615
Дата рег-ции: Июль 2006  
Откуда: Оттуда !


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. <html>
  3. <head>
  4. <title>Untitled Document</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
  6. <script language="javascript">
  7. <!--
  8. function keyAction(e)
  9. {
  10.     if (e.shiftKey || e.altKey || !e.ctrlKey) return;  // Если нажаты клавиши Shift, Alt или
  11.                                                                        // не нажата клавиша Ctrl, функция      
  12.                                                                        // неработает  
  13.     switch (e.keyCode)
  14.     {
  15.         case 66:
  16.             text = "|Ctrl+B|";  // Выводим текст |Ctrl+B| если нажать Ctrl+B
  17.             break;
  18.         case 85:
  19.             text = "|Ctrl+U|"; // Аналогично Ctrl+B
  20.             break;
  21.         case 13:
  22.                     window.open('1.php');  // Открываем скрипт 1.php если нажать Ctrl+Enter
  23.                         break;
  24.                 //следующие case
  25.     }
  26.  if (text)
  27.     {
  28.         textarea.value += text;
  29.         e.preventDefault();
  30.     }
  31. }
  32.  
  33. function keyPressInit()
  34. {
  35.     // Функция определяющая находится ли курсор в текстовом поле.
  36.     // если нет то скрипт не работает
  37.     textarea = document.getElementById("enabledTextArea");
  38.     if (!textarea) return;
  39.     textarea.onfocus = function(){enabled=true;}
  40.     textarea.onblur = function(){enabled=false;}
  41.     document.onkeypress = function(e){keyAction(e);}
  42. }
  43.  
  44. var textarea, enabled;
  45. window.onload = keyPressInit;    
  46.  
  47.  
  48. //-->
  49. </script>
  50. </head>
  51.  
  52. <body onkeypress="keyAction(e);">
  53. <form>    
  54.      <textarea id="enabledTextArea">
  55.         CTRL+B || CTRL+U
  56.     </textarea>
  57.     <textarea>
  58.         !(CTRL+B || CTRL+U)
  59.     </textarea>
  60. </form>
  61.  
  62. </body>
  63. </html>


Обьясню в 2-х словах принцип :
Если курсор находится в текстовом поле то при нажатии кнопок |Ctrl+B| |Ctrl+U|Ctrl+Enter выполняются различные события.

Сами события описаны после строк case *:.

Case это код нажатой клавиши на клавиатуре.

Исправляем, отцениваем.
 
 Top
Dastar
Отправлено: 02 Января, 2008 - 18:14:43
Post Id



Частый гость


Покинул форум
Сообщений всего: 199
Дата рег-ции: Янв. 2008  
Откуда: Израиль


Помог: -6 раз(а)




Если убрать функцию "keyPressInit", то функция будет работать в любом месте странички?


-----
Не знаешь - молчи.
 
 Top
scuter
Отправлено: 17 Февраля, 2008 - 05:38:47
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2008  


Помог: 0 раз(а)




интересно а где достать данные по стальным клавишам быстрого набора?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Хранилище функций на JavaScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB