Слушатели событий href и click должны выполняться последовательно
Я работаю над проектом Django, в котором мне нужно перейти к определенному URL, а затем переключить выпадающее меню, но проблема в том, что обе вещи происходят одновременно.
Вот мой код выпадающего списка
<a href="{% url 'my_applications' %}"
class="nav_link {% if request.resolver_match.url_name == "payroll_941_files" %}active{% endif %} dropdown-btn"><img src="{% static 'application/img/icon_doc.svg' %} "><span
class="nav_name" >My Applications</span> </button>
<div class="row dropdown-container ">
<div class="col-md-2">
{% for company in companies %}
<a href="{% url 'my_applications_id' company.id %}" class="company-row" >{{ company.name | title }}</a>
{% endfor %}
</div>
</div>
Вот мой код Javascript
var dropdown = document.getElementsByClassName("dropdown-btn");
for (var dropdown_size = 0; dropdown_size < dropdown.length; dropdown_size++) {
dropdown[dropdown_size].addEventListener("click", function() {
console.log(dropdown.length);
this.classList.toggle("active");
var dropdownContent = this.nextElementSibling;
if (dropdownContent.style.display === "block") {
dropdownContent.style.display = "none";
} else {
dropdownContent.style.display = "block";
}
});
}
Теперь, когда я нажимаю на выпадающий раздел "Мое приложение", одновременно работают href и toggle.
Чтобы избежать этого, можно использовать предотвращающий слушатель событий по умолчанию. Это руководство от W3 schools объясняет, что это такое и как его использовать. Надеюсь, это поможет!