fentg.com

ФОРУМЪТ на ФЕНОВЕТЕ на НТГ
Дата и час: Нед Апр 11, 2021 7:52 am

Часовете са според зоната UTC + 2 часа [ DST ]


Правила на форума


Натиснете за да видите правилата



Напиши нова тема Отговори на тема  [ 11 мнения ]  Отиди на страница 1, 2  Следваща
Автор Съобщение
 Заглавие: Клавиатура и браузър
МнениеПубликувано на: Съб Сеп 04, 2010 8:53 pm 
Offline
Администратор
Аватар

Регистриран на: Нед Ное 02, 2008 5:30 pm
Мнения: 3550
Как например с клавиши (лява и дясна стрелки) да командваме да речем едно число - увеличаваме или намаляме с 1 - като брояч - лява стрелка намаля, дясна увеличава...

Сещате се, че ако това сработи ще можем да добавяме и клавиатурна интерактивност например там където нямаме...

_________________
Изображение


Върнете се в началото
 Профил  
 
 Заглавие: Re: Клавиатура и браузър
МнениеПубликувано на: Нед Сеп 12, 2010 2:12 am 
Offline
НЕЧОВЕК
Аватар

Регистриран на: Нед Ное 02, 2008 5:04 pm
Мнения: 146
Местоположение: localhost
http://blog.freelancer-id.com/index.php ... -in-jquery

Това са Keyboard Events. Показан е пример с библиотеката на JQuery, която много често започнах да използвам.
Ето и демо страница http://www.freelancer-id.com/files/jkey/
Като се натисне някой бутон от клавиетурата и той казва кой е точно.
http://www.freelancer-id.com/files/jkey/

Mожеби има и други разработени скриптове, които са подобни, този е първия който видях и е само за илюстрация.
А когато вече е ясно засичането на бутона. Прави се една проста проверка дали бутона е лява или дясна стрелка и съответно се инкрементира или декрементира един прост брояч :)

_________________
Изображение


Върнете се в началото
 Профил  
 
 Заглавие: Re: Клавиатура и браузър
МнениеПубликувано на: Нед Сеп 12, 2010 9:53 am 
Offline
Администратор
Аватар

Регистриран на: Нед Ное 02, 2008 5:30 pm
Мнения: 3550
Прости проверки, прости броячи... Само дето jquery не е много просто и в показания пример
Цитат:
function getKey(key){
if ( key == null ) {
keycode = event.keyCode;
// To Mozilla
} else {
keycode = key.keyCode;
}
// Return the key in lower case form
return String.fromCharCode(keycode).toLowerCase();
}

Now let's use the events:

/*Keypress*/
$(document).keypress(function (eh){
alert("Keypress: The key is: "+getKey(eh));
});

/*Keyup*/
$(document).keyup(function (eh){
alert("Keyup: The key is: "+getKey(eh));
});

/*keydown*/
$(document).keydown(function (eh){
alert("Keydown: The key is: "+getKey(eh));
});
се ползва...
За клиент, който иска да мине без jquery може ли да бъде толкоз просто?
@ПИПО - Пробвай! В горния код има всичко необходимо, което трябва да се знае - остава само решението на задачата! Успех! Очаквам кода тук - а пък аз ще ти покажа вариант, който измисли Гоги с помощта на книжката Javascript в лесни стъпки! Моята заслуга е в лекото му опростяване! Инак Гоги вкара един DOM пиниз, който не знаех и не е от книжката, ама прави решението супер атрактивно... Но - стреляй пръв!

_________________
Изображение


Върнете се в началото
 Профил  
 
 Заглавие: Re: Клавиатура и браузър
МнениеПубликувано на: Нед Сеп 12, 2010 11:54 pm 
Offline
Аватар

Регистриран на: Вто Ное 18, 2008 10:18 am
Мнения: 6
Ето и едно вариянтче от мен
Код:
#define RA 77
#define LA 75

#include<iostream>
#include<conio.h>
#include<iomanip>

using namespace std;

int main()
{
    int w=20;  //for the setw(w)
    int a;     //in which will be stored the user's input
    int b;     //is the changing digit
    b=0;
   
    cout<<setw(w)<<b;
   
    while(a!=27)
    {
       a = getch();
       
       if(a==0)
         a = getch();
       
       switch (a)
       {
       case RA: 
         b++;
         break;
       
       case LA:
         b--;
         break;
       }
         system("cls");
         cout<<setw(w)<<b;
    } 
}

на C++ е


Последна промяна desy94 на Нед Сеп 19, 2010 12:02 am, променена общо 2 пъти

Върнете се в началото
 Профил  
 
 Заглавие: Re: Клавиатура и браузър
МнениеПубликувано на: Пон Сеп 13, 2010 7:04 am 
Offline
Администратор
Аватар

Регистриран на: Нед Ное 02, 2008 5:30 pm
Мнения: 3550
После ще го компилирам и пробвам, но изглежда наред на пръв поглед...

_________________
Изображение


Върнете се в началото
 Профил  
 
 Заглавие: Re: Клавиатура и браузър
МнениеПубликувано на: Сря Сеп 15, 2010 12:40 pm 
Offline

Регистриран на: Пон Дек 29, 2008 10:00 pm
Мнения: 42
Лично аз мисля, че клавишните комбинации са по подходящи при десктоп приложенията, за сметка на това в интернет доминира мишката.
Но тъи като вече започна да се говори за клавишни комбинации по принцип пък и на последната си конференция Гугъл наред с последната версия на Мобилната си операционна система, говориха и за развитието на WEB приложенията, които все повече запват да приличат на десктоп предшествениците им , за доказателство , който се интересува да погледне
http://www.petapixel.com/2010/05/20/mugtug-darkroom-is-a-browser-based-photo-editor-powered-entirely-by-html5/


Фотошоп за интернет разработката на Mugtug наречена Darkroom

Нека и аз добавя още една полезна библиотека към смисъка на Java Script въпреки ча JQuery и може би наи популярната и лесна за исползване библиотека, може да погледнете и Ext JS
http://www.sencha.com/products/js/

Тази библиотека е ориентирана към създаване на десктоп подобно съдържание , има включен богат набор от функции за работа с кловиши, прихващане на ЗАДЪРЖАНЕ, БЪРЗО НАТИСКАНЕ, ОТПУСКАНЕ и така нататък.

За привъжениците на другата Java тази дето няма Script отзаде ще дам следния линк.
http://download.oracle.com/javase/tutorial/uiswing/events/keylistener.html

както и

http://download.oracle.com/javase/1.4.2/docs/api/java/awt/event/KeyEvent.html

Събитията се осъществяват с помоща на слушатели ,следящи какво ще аправи потребителя. Когато натисне , удари бързо бутона или го отпусне се активира една от трите функции в интерфеиса KeyListener и така се следи за събитието и съответно се испълнява командата.
Клавишите не се задават с ASCII комбинации ас предварително дефинирани стоиности от рода на VC_ESCAPE.
като на свой ред потребителя може да дефинира функцията на КЛАВИШ или КЛАВИШ+ КЛАВИШ комбинация ,който прав нещо.
Недостатък е че кода става два километра защото при имплементиране на интерфеис трябва да се декларират всичките му методи (функцията в ООП) и става доста тегаво.
Друго нещо, за тези дето са се зарибили да пробват. Слушателите деистват само при приложения с GUI и АПЛЕТИ.
Тоест требва да ползвете една от двете графични библиотеки Swing или AWT първата е за предпочитане.
Конзолните приложения не ползват слушатели. Тъи като Java живее и в интернет,и във десктопа съвета е еднозначен.

За останалите езици, които доминират нета като Ruby и PHP предполагам , че има някаква аналогична система за обработка на събития , но съм по скоро скептичен. Те разчитат на DOM маниполиращ език като JS.
С излизането на новия HTML версия 5 ще са възмжни 1000 изгъзици , които ще направят нета 100 пъти по- приятно място за забавления.Ако на някои му се търси някакъв начин да погледне документацията на езика.
http://dev.w3.org/html5/spec/Overview.html
Може и да намери нещо.
Единственото което ми идва н прима виста е исползването на така наречените Canvas които может да се манипулиран по интересен начин , но незнам дали чрез клавиатурата.


Върнете се в началото
 Профил  
 
 Заглавие: Re: Клавиатура и браузър
МнениеПубликувано на: Сря Сеп 22, 2010 3:47 pm 
Offline
Аватар

Регистриран на: Вто Ное 18, 2008 10:18 am
Мнения: 6
Код:
#define RA 77
#define LA 75

#include<iostream>
#include<conio.h>
#include<iomanip>

using namespace std;

int main()
{
    int w=20; 
    int a;     
    int b;     
    b=0;
   
    cout<<setw(w)<<b;
   
    while(a!=27)
    {
       a = getch();
       
       if(a==0)
         a = getch();
       
       switch (a)
       {
       case RA: 
         b++;
         break;
       
       case LA:
         b--;
         break;
       }
         system("cls");
         cout<<setw(w)<<b;
    } 
}


Върнете се в началото
 Профил  
 
 Заглавие: Re: Клавиатура и браузър
МнениеПубликувано на: Сря Сеп 22, 2010 6:53 pm 
Offline
Администратор
Аватар

Регистриран на: Нед Ное 02, 2008 5:30 pm
Мнения: 3550
Я пробвай този:
Код:
      switch (a)
       {
       case RA:
         b++;
         break;
       
       case LA:
         b--;
         break;
       }
да замениш с if else if да видим дали няма да е по-късичко? Защото гледам от отдавна само if-ове без грам else "праскаш"...

_________________
Изображение


Върнете се в началото
 Профил  
 
 Заглавие: Re: Клавиатура и браузър
МнениеПубликувано на: Съб Яну 08, 2011 2:10 pm 
Offline
Администратор
Аватар

Регистриран на: Нед Ное 02, 2008 5:30 pm
Мнения: 3550
Тук може да се види какво имам предвид... Натискате (може и да позадържите) лява или дясна стрелки от клавиатурата... Без jquery, чист javascript...

Много са хубави аналогичните примери на десито, но темата е клавиатура и браузър, а нейните са конзолни десктоп за дос/уиндоус... Но все пак е разбрала условието и правилно е изпълнила задачата с обработката на стрелките, та даже и ескейп прихваща за излизане...

_________________
Изображение


Върнете се в началото
 Профил  
 
 Заглавие: Re: Клавиатура и браузър
МнениеПубликувано на: Нед Яну 09, 2011 12:21 am 
Offline
Администратор
Аватар

Регистриран на: Нед Ное 02, 2008 5:30 pm
Мнения: 3550
Лека оптимизацийка на ф-цията, поемаща клавишите:
Код:
   function klav(e)
   {
      var v = document.getElementById("c");

      if( navigator.appName == "Netscape" )
      {
         if( e.keyCode == 39 )
            v.innerHTML++;
         else if( e.keyCode == 37 )
            v.innerHTML--;
            
      }
      else
      {
         if( event.keyCode == 39 )
            v.innerHTML++;
         else if( event.keyCode == 37 )
            v.innerHTML--;
      }
   }

_________________
Изображение


Върнете се в началото
 Профил  
 
Покажи мненията от миналия:  Сортирай по  
Напиши нова тема Отговори на тема  [ 11 мнения ]  Отиди на страница 1, 2  Следваща

Часовете са според зоната UTC + 2 часа [ DST ]


Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Иди на:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Превод: Ioan Filipov