Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript] Blokada ctrl
adam882
post 17.06.2010, 18:56:34
Post #1





Grupa: Zarejestrowani
Postów: 289
Pomógł: 1
Dołączył: 2.11.2007

Ostrzeżenie: (0%)
-----


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?

Ten post edytował adam882 17.06.2010, 18:57:12
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
erix
post 17.06.2010, 19:22:45
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




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...


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
bastard13
post 17.06.2010, 19:25:04
Post #3





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


  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:)

Ten post edytował bastard13 17.06.2010, 19:28:34


--------------------
Go to the top of the page
+Quote Post
adam882
post 18.06.2010, 08:44:54
Post #4





Grupa: Zarejestrowani
Postów: 289
Pomógł: 1
Dołączył: 2.11.2007

Ostrzeżenie: (0%)
-----


Grunt żeby działało pod IE i firefox
Go to the top of the page
+Quote Post
phpion
post 18.06.2010, 08:47:40
Post #5





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 05:04