Jak wyłączyć wszystkie pozostałe linki w div po kliknięciu na link w div z pomocą javascript [duplikat]

0

Pytanie

Jestem nowy w Javascript. Chcę wyłączyć wszystkie pozostałe linki w div po kliknięciu na link w div. Jeśli nacisnę na dowolny link w tym temacie, inne linki w tym dziale powinny być wyłączone i odłączone od zasilania.

Ten kod nie robi linki dostępne po naciśnięciu dowolnego przycisku . Po kliknięciu na jakikolwiek link, inne linki w tym dziale powinny być wyłączone i odłączone od zasilania. Na przykład, po kliknięciu na link "Wziąć" linki "do Wzięcia", "odrzuć" i "oferta" powinny być wyłączone i odłączone od zasilania.

WyjścieOutput

function disableButton() {
  document.querySelector("#notify-div a").removeAttribute("href");

}
<div id="notify-div">
  user_name has requested a bid price of bid for quantity of qty for mileage mileage_name of truck truck_name.
  <br> <a href='/truckianAccept/".$lastId."' id='accept' class='btn btn-primary' onclick='disableButton();'>Accept </a>
  <a href='/truckianDecline/".$lastId."' id='decline' class='btn btn-primary' onclick='disableButton();'>Decline </a> <a href='/wstCounterOffer/".$lastId."' id='counter' class='btn btn-primary' onclick='disableButton();'>Counter Offer </a>";
</div>

css disable-link html hyperlink
2021-11-17 06:51:31
1

Najlepsza odpowiedź

1

Zamiast usuwania hrefustawiasz klasa z zapisywaniem zdarzeń wskaźnika w css.

function disableButtons() {
  const links = document.querySelectorAll("#notify-div a");

  links.forEach(function(link) {
    link.classList.add('disabled');
  });
}

CSS:

.disabled {
  pointer-events: none;
}

Proszę zwrócić uwagę, że href i onClick nie będzie działać razem. Należy przekazać każdej link określoną funkcję, która obsługuje funkcjonalność i później wyłącza przyciski.

2021-11-17 07:06:40

Nie działa , przycisk nie jest wyłączona, po wykonaniu tego kodu
Binsha

Co nie działa? Rozwiązanie uniemożliwia wykonanie dowolnego kodu po kliknięciu na link, który z definicji "wyłączona". Jeśli chcesz, aby link wyglądał inaczej, ci, oczywiście, będzie musiał zmienić styl. Jak to zrobić, również wyjaśnione w już połączonym odpowiedzi. Pamiętaj, że nie możesz korzystać z href i onclick razem.
HDinger

Tak więc, jaką funkcję można korzystać href?
Binsha

Nie. Używasz albo href atrybut dla przekierowania adresu URL LUB onClick do wykonania logicznych kroków. W twoim przypadku musisz użyć onClick. W funkcji, którą chcesz przekazać, można najpierw wykonać logikę związaną z przyciskiem, a następnie wywołać funkcję, aby wyłączyć inne przyciski.
HDinger

<a href="/truckianAccept/".$lastId."" id="accept" class="btn btn-primary" onclick="disableButton();">Wziąć </a> . To jest właściwy sposób zadzwonić?
Binsha

<a id='wziąć' class='btn btn-główny' onclick='executeStuffAndDisableButton();'>Wziąć <a id='wziąć' class='btn btn-główny' onclick='executeStuffAndDisableButton();'></a></a>
HDinger

dlaczego ta funkcja " executeStuffAndDisableButton ();"?
Binsha

Dlatego, że nie można połączyć href się z onclick. Zamiast tego trzeba zrobić wszystko wewnątrz funkcji, które można przesyłać do: wyłączyć przyciski, a także rzeczywistej logiki
HDinger

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................