Ayzek Klark
Знаток
(315)
5 месяцев назад
это что за питон такой
Ayzek KlarkЗнаток (315)
5 месяцев назад
Удали обработчик события click:
document.querySelector('.historyAPI').removeEventListener('click', historyAPI);
Добавь новый обработчик события click:
document.querySelector('.historyAPI').addEventListener('click', function(e) {
// Ваш код обработки события здесь
});
Вместо использования $ для выбора элемента по классу, используй document.querySelector
удали предыдущий обработчик события click с помощью removeEventListener, указывая имя функции historyAPI.
И, наконец, добавь новый обработчик события click с помощью addEventListener, передавая анонимную функцию. Убедитесь, что ваш код обработки события находится внутри нового обработчика click.
Руслан Холявко
Мыслитель
(9748)
5 месяцев назад
Конечно, попробуем переписать это без использования jQuery, используя чистый JavaScript:
1. Убираем существующие обработчики событий.
2. Добавляем новые обработчики событий с использованием `addEventListener`.
Вот как это может выглядеть:
```javascript
// Получаем все элементы с классом 'historyAPI'
var historyAPIElements = document.querySelectorAll('.historyAPI');
// Удаляем существующие обработчики событий
historyAPIElements.forEach(function(element) {
var newElement = element.cloneNode(true);
element.parentNode.replaceChild(newElement, element);
});
// Добавляем новые обработчики событий
historyAPIElements = document.querySelectorAll('.historyAPI');
historyAPIElements.forEach(function(element) {
element.addEventListener('click', function(e) {
// Ваше тело функции здесь
});
});
```
Если у тебя уже есть функция `historyAPI`, используй её вместо анонимной функции:
```javascript
// Получаем все элементы с классом 'historyAPI'
var historyAPIElements = document.querySelectorAll('.historyAPI');
// Удаляем существующие обработчики событий
historyAPIElements.forEach(function(element) {
var newElement = element.cloneNode(true);
element.parentNode.replaceChild(newElement, element);
});
// Добавляем новые обработчики событий
historyAPIElements = document.querySelectorAll('.historyAPI');
historyAPIElements.forEach(function(element) {
element.addEventListener('click', historyAPI);
});
```
Таким образом, мы создаём клоны элементов, удаляя при этом все существующие обработчики событий, и затем снова добавляем новые обработчики событий. Это должно помочь избежать перезагрузки страниц.
$('.historyAPI').on('click', function(e)
{ если я выношу все тело в функцию и делаю document.querySelector(".historyAPI").addEventListener('click', historyAPI); в этом случае страницы перезагружаются. Как переписать эти первые две строчки?