Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Blokada ctrl
Forum PHP.pl > Forum > Przedszkole
adam882
Witam

Mam problem z kodem javascript. Chciałbym, aby blokował klawisz CTRL w wybranym <textarea> w formularzu:

  1. <script language="javascript">
  2. function noCTRL(e)
  3. {
  4. var code = (document.all) ? event.keyCode:e.which;
  5. var msg = "Nie wklejamy";
  6. if (parseInt(code)==17)
  7. {
  8. alert(msg);
  9. window.event.returnValue = false;
  10. }
  11. }


Działa on tak, że w przypadku kliknięcia klawisza CTRL w textarea: wyświetla się odpowiedni komunikat. Wszystko byłoby ok, lecz ten sam komunikat pokazuje się w przypadku użycia klawisza ALT. W jaki sposób przerobić skrypt, aby nie uwzględniał klawiszu ALT?
erix
Zależy, którego alta wciskasz; prawy jest kombinacją ctrl+alt, dlatego tak.

Generalnie, to daruj sobie coś takiego; nie każda przeglądarka Ci na to pozwoli, nie każda obsłuży, a tylko utrudniasz życie...
bastard13
  1. if (parseInt(code)==17 && !event.altKey)

tak jak pisze erix, z prawym są problemy, bo jest traktowany jak kombinacja ctrl+alt.
Ogólnie to jest tak,że:
lewy i prawy CTRL:
event.keyCode=17, event.altKey=false;
alt lewy:
event.keyCode=18, event.altKey=true;
alt prawy:
event.keyCode=17, event.altKey=true;
Dodatkowo obsługa event jest naprawdę czasami uciążliwa i nie wiem czy powyższe bedzie działało wszędzie. Działa w IE, więc pewnie w innych przeglądarkach będą problemy:)
adam882
Grunt żeby działało pod IE i firefox
phpion
Tiaaa... prawy knefel mychy na polu i "Wklej" smile.gif można oczywiście też blokować jego naciśnięcie, ale... podpisuję się pod postem ~erixa.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.