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

Zastąpienie lub zmiana właściwości elementu bez js

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
289 wizyt
pytanie zadane 8 maja 2018 w HTML i CSS przez Perseusz Bywalec (2,190 p.)

Witam!

No więc uznałem, że warto by uwzględnić sytuację, w której aplikacja użytkownika nie obsługuje javascript, no i naszedł mnie problem: jak bez JS zmienić właściwości elementu lub go podmienić i czy w ogóle się da? Alibo co innego wymyślić?

Mam menu nawigacyjne i tam linki no i chciałbym, żeby gdy JS jest obsługiwany to po kliknięciu na przycisk w menu pojawił się pod nim nowy element a gdy JS nie jest obsługiwany przycisk zachowywał się jak odnośnik z linkiem

Dzięki z góry za odpowiedzi! wink

1 odpowiedź

+1 głos
odpowiedź 8 maja 2018 przez Tomek Sochacki Ekspert (227,490 p.)
wybrane 8 maja 2018 przez Perseusz
 
Najlepsza

Myślę, że Twój problem może rozwiązać Event.preventDefault() na akcji kliknięcia linka.

komentarz 8 maja 2018 przez Perseusz Bywalec (2,190 p.)
Rozumiem, że jeśli dobrze użyje tej funkcji to mogę zatrzymać władowanie strony z łącza, tak..?
komentarz 8 maja 2018 przez Perseusz Bywalec (2,190 p.)
*powstrzymać władowanie strony
komentarz 8 maja 2018 przez Tomek Sochacki Ekspert (227,490 p.)
Domyślą akcją dla linka będzie przejście pod wskazany adres, a tym sposobem przez JS możesz to zablokować i wykonać dowolne inne operacje. Natomiast przy braku JS zostanie wykonane po prostu przekierowanie do linka lub kotwicy (zależy co tak w href dasz).
komentarz 8 maja 2018 przez Perseusz Bywalec (2,190 p.)

W takim razie dokładnie tego było mi trzeba dzięki!smiley

komentarz 8 maja 2018 przez Tomek Sochacki Ekspert (227,490 p.)

Proszę bardzo :) Pamiętaj tylko, aby wywołując metodę addEventListener pobrać event:

[referencja do linka].addEventListener('click', (e) => {
    e.preventDefault();
    // i tutaj robimy co chcemy przy braku JS
})

 

komentarz 8 maja 2018 przez Perseusz Bywalec (2,190 p.)

W sumie uparłem się na 'onclick' i na stacku znalazłem prostsze rozwiązanie:

https://stackoverflow.com/questions/15622100/how-can-i-disable-href-if-onclick-is-executed

co o nim myślisz?

komentarz 8 maja 2018 przez Tomek Sochacki Ekspert (227,490 p.)
Jeśli piszemy w vanillaJS to ja jestem raczej zwolennikiem wyraźnego rozdzielenia HTML / CSS / JS i nie mieszania JS z HTML.
komentarz 8 maja 2018 przez Perseusz Bywalec (2,190 p.)

Moim zdaniem to dużo prostszy zapis, jestem początkujący, więc może kiedyś zmienię zdanie, ale póki co zostaję przy tymcheeky bo jakoś czytelniej...

Podobne pytania

0 głosów
1 odpowiedź 1,182 wizyt
pytanie zadane 29 marca 2018 w JavaScript przez w2 Obywatel (1,110 p.)
0 głosów
0 odpowiedzi 97 wizyt
+2 głosów
2 odpowiedzi 170 wizyt
pytanie zadane 24 sierpnia 2023 w SQL, bazy danych przez gatka84 Bywalec (2,150 p.)

93,097 zapytań

142,060 odpowiedzi

321,514 komentarzy

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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...