• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Nie wiem jak rozwiązać dany problem

Object Storage Arubacloud
+1 głos
80 wizyt
pytanie zadane 12 czerwca 2020 w JavaScript przez Marak123 Stary wyjadacz (11,190 p.)
zamknięte 12 czerwca 2020 przez Marak123
Muszę zrobić tak że mam funkcje która wyczytuje naciśnięte klawisze i coś robi i muszę tak zrobić że po przełączeniu zmiennej na true te odczytywanie będzie działać i klawisze będą odczytywane ale gdy ta zmienna ma wartość false to nie będzie odczytywać czyli zrobić tak ze jak jest false to wyczytywanie nie działa a jak jest true to odczytuje. Tylko nie wiem jak to zrobić bym mógł to zrobić za pomocą pętli ale w tedy to będzie cały czas odczytywać i będzie lagować strona a ja chcę zrobić tylko tak ze po naciśnięciu klawisza odczyta wie ktoś jak?
komentarz zamknięcia: Otrzymałem odpowiedź
komentarz 12 czerwca 2020 przez VBService Ekspert (253,100 p.)
Te klawisze będą naciskane nad całą stroną html: <body>, czy konkretny tag, np.: <input>, <textarea>, <div> i czy w momencie gdy zmienna ma false naciskając klawisze zapamiętuje sekwencje wciśniętych klawiszy, ale nie wyświetla ich, dopiero gdy zmienna jest true to odblokowuje możliwość pisania czy ma wyświetlić zbuforowane wciśnięcia kiedy zmienna była false, czy i odblokować możliwość pisania i wyświetlić zapamiętaną sekwencje wciśniętych klawiszy?
komentarz 12 czerwca 2020 przez Marak123 Stary wyjadacz (11,190 p.)
Klawisze będą wyczytywane z całej strony i chodzi mi o to ze mam przełącznik i gdy przełącznik będzie wyłączony to odczytywanie klawiszy nie będzie działać a gdy jest przełączony to odczytywanie klawiszy będzie działać
komentarz 12 czerwca 2020 przez VBService Ekspert (253,100 p.)
edycja 12 czerwca 2020 przez VBService

@Marak123, Nie wiem czy do końca rozumiem Twój problem, ale pierwsze co mi przychodzi do głowy to np.: za pomocą jquery tak:


$('body').bind('keypress', function(e) {

   // if(twoja_zmienna == false)
   if(! twoja_zmienna) {
      e.stopPropagation();   
   }

   /*
   Jeśli twoja_zmienna = true powyższy warunek się nie wykonuje
   i "klawisze nie są blokowane", tylko że twoja_zmienna musi mieć 
   zasięg globalny
   */
});

stopPropagation() Event Method

java script czysty


document.addEventListener("keydown", blokuj_wpisywanie, false);

function blokuj_wpisywanie(e)
{
	if(! twoja_zmiena) {
      if(!e) var e = window.event;
	  e.cancelBubble = true;
	  if(e.stopPropagation) e.stopPropagation();
    }
}

How to register document.onkeypress event

HTML DOM Events

1
komentarz 12 czerwca 2020 przez Marak123 Stary wyjadacz (11,190 p.)
Ok dzięki o taką funkcje jak stopPropagation() własnie mi chodziło

1 odpowiedź

+1 głos
odpowiedź 12 czerwca 2020 przez VBService Ekspert (253,100 p.)
wybrane 12 czerwca 2020 przez Marak123
 
Najlepsza

jQuery


$('body').bind('keypress', function(e) {
 
   // if(twoja_zmienna == false)
   if(! twoja_zmienna) {
      e.stopPropagation();   
   }
 
   /*
   Jeśli twoja_zmienna = true powyższy warunek się nie wykonuje
   i "klawisze nie są blokowane", tylko że twoja_zmienna musi mieć 
   zasięg globalny
   */
});


javascript

document.addEventListener("keydown", blokuj_wpisywanie, false);
 
function blokuj_wpisywanie(e)
{
    if(! twoja_zmiena) {
      if(!e) var e = window.event;
      e.cancelBubble = true;
      if(e.stopPropagation) e.stopPropagation();
    }
}

 

Podobne pytania

+1 głos
1 odpowiedź 349 wizyt
+1 głos
2 odpowiedzi 144 wizyt

92,555 zapytań

141,403 odpowiedzi

319,557 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...