Intento cambiar de pestaña. Creó una clase
export default class Tab { constructor(tabSelector, handleClick) { this._tabSelector = document.querySelector(tabSelector); this._handleClick = handleClick; } _selectClick(e) { function switchTab() { const arrTab = Array.from(document.querySelectorAll('.tab-item')); arrTab.forEach((item) => { item.classList.remove('tab-item_selected'); }) } switchTab(); e.currentTarget.classList.add('tab-item_selected'); this._handleClick(); } setEventsListeners() { this._tabSelector.addEventListener('click', this._selectClick); } }Creo una instancia de una clase. Y darle una función:
const SearchString = document.querySelector('.search-link'); const btnRandom = new Tab('.tab-item_random', btnRandomClick); function btnRandomClick() { SearchString.classList.remove('search-link_opened'); } btnRandom.setEventsListeners();Cuando hago clic en el botón "RANDOM", la clase debe eliminarse del selector "search-link_opened".
Pero no sucede.
btnRandomClick() no se ejecuta. this._handleClick(); - indefinido no sé por qué?