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

question-closed Co jest nie tak z tym kodem js?

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
+1 głos
222 wizyt
pytanie zadane 17 czerwca 2020 w JavaScript przez Marak123 Stary wyjadacz (11,190 p.)
zamknięte 17 czerwca 2020 przez Marak123

Zrobiłem taki kod:

document.addEventListener('keydown', function(event){	
	if(skroty_wl_wyl === false){
		event.stopPropagation();
	}
	else{
		var klik = document.getElementById("przyciski");

		if (event.key >=0 <=9 ) {
			klik.onclick = nacisk(event.key);
			event.preventDefault();
		}	
		if (event.key == 'Backspace') {
			klik.onclick = znak_dzialanie('czysc');
		}
	}
});

I działał aż nagle przestał działać klawisz Backspace bo gdy klikam klawisz backspace to on mi wyświetla się jako napis w tym pierwszym if pewnie jak bym zamienił miejszacami te ify to by działało tak jak ma działać ale wcześniej tak też działało ale coś się zepsuło wie ktoś dlaczego ten pierwszy if wpisuje mi też backspace pomimo ze ma w warunku tylko od liczby 0 do 9?

komentarz zamknięcia: dzięki za pomoc

2 odpowiedzi

0 głosów
odpowiedź 17 czerwca 2020 przez VBService Ekspert (256,600 p.)
wybrane 17 czerwca 2020 przez Marak123
 
Najlepsza

Musisz użyć kod klawisza "backspace". W tym przypadku  to kod 8


document.addEventListener('keydown', function(event){
    alert(event.keyCode);   
    if(skroty_wl_wyl === false){
        event.stopPropagation();
    }
    else{
        var klik = document.getElementById("przyciski");
 
        if (event.key >=0 <=9 ) {
            klik.onclick = nacisk(event.key);
            event.preventDefault();
        }   
        if (event.key == 8) {
            klik.onclick = znak_dzialanie('czysc');
        }
    }
});

 

komentarz 17 czerwca 2020 przez Marak123 Stary wyjadacz (11,190 p.)
nie chodzi mi o to ze nie działa ten drugi if z tym backspace bo on działa tylko chodzi mi o to ze gdy naciskam backspace to uaktywnia się ten 1 if który nie powinien działać i nie wiem dlaczego bo w końcu jest tam warunek ze ma działać gdy event.key będzie równy od 0 do 9 i backspace nie powinien uaktywniać 1 ifa
1
komentarz 17 czerwca 2020 przez VBService Ekspert (256,600 p.)
edycja 18 czerwca 2020 przez VBService

document.addEventListener('keydown', function(event){
    //alert(event.keyCode);   
    if(skroty_wl_wyl === false){
        event.stopPropagation();
    }
    else{
        var klik = document.getElementById("przyciski");
  
        if (event.key >=0 && event.key <=9) {
            klik.onclick = nacisk(event.key);
            event.preventDefault();
        }   
        if (event.key == 8) {
            klik.onclick = znak_dzialanie('czysc');
        }
    }
});

komentarz 17 czerwca 2020 przez Marak123 Stary wyjadacz (11,190 p.)
ta też właśnie tak zrobiłem i zadziałało tylko nie wiem czemu to >=0<=9 teraz nie działało a jak to robiłem to działało i nagle przestało ale dzięki za pomoc
komentarz 17 czerwca 2020 przez VBService Ekspert (256,600 p.)
Nie działało tylko, że teraz prawie wszystkie (z pewnymi wyjątkami) błędy javascript nie zatrzymują parsowania strony i wyświetlają się w konsoli.
0 głosów
odpowiedź 17 czerwca 2020 przez DawidK Nałogowiec (37,910 p.)
if (event.key >=0 <=9 )

ten warunek zwróci Ci prawdę.

Z

event.key >=0

dostaniesz True lub False i później z:

True <= 9 lub False <= 9

i rzutowaniu True na 1 lub False na zero dostaniesz

if(True)

 

Podobne pytania

–1 głos
0 odpowiedzi 166 wizyt
pytanie zadane 28 marca 2020 w C i C++ przez Anahan89 Obywatel (1,320 p.)
0 głosów
1 odpowiedź 256 wizyt
0 głosów
1 odpowiedź 358 wizyt
pytanie zadane 30 maja 2017 w PHP przez Kamil Gąsior Obywatel (1,430 p.)

93,440 zapytań

142,431 odpowiedzi

322,679 komentarzy

62,802 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

...