Muszę użyć wanilii JavaScript dla projektu. Mam kilka funkcji, z których jedną jest przycisk otwierający menu. Działa na stronach, na których istnieje identyfikator docelowy, ale powoduje błąd na stronach, na których identyfikator nie istnieje. Na stronach, na których funkcja nie może znaleźć identyfikatora, pojawia się komunikat "Nie można odczytać właściwości" addEventListener "o wartości" null "i żadna z moich innych funkcji nie działa.Nie można odczytać właściwości 'addEventListener' o wartości zerowej
Poniżej znajduje się kod przycisku otwierającego menu.
function swapper() {
toggleClass(document.getElementById('overlay'), 'open');
}
var el = document.getElementById('overlayBtn');
el.addEventListener('click', swapper, false);
var text = document.getElementById('overlayBtn');
text.onclick = function(){
this.innerHTML = (this.innerHTML === "Menu") ? "Close" : "Menu";
return false;
};
Jak sobie z tym poradzić? Prawdopodobnie będę musiał zawinąć ten kod w inną funkcję lub użyć instrukcji if/else, aby wyszukiwał on tylko identyfikator na określonych stronach, ale nie był do końca pewny.
Czy możesz pokazać kod HTML. wydaje się, że nie można znaleźć elementu o identyfikatorze 'overlayBtn' – BlaShadow
Na stronach, na których funkcja nie może znaleźć identyfikatora, pojawia się komunikat "Nie można odczytać właściwości" addEventListener 'o wartości null "i żadna z moich innych funkcji nie działa. Myślę, że odpowiedź na to pytanie była prawie w ogóle. Nie możesz znaleźć elementu, więc nie możesz dodać detektora zdarzeń do niego ... – Etai
Może się tak zdarzyć, jeśli użyłeś 'class' w swoim html zamiast' id' i wołasz o 'getElementById' w twoich skryptach. – Deke