@DiaTMss

Почему не получается получить результат внутри addEventListener?

Доброго времени суток уважаемые программисты.

У меня есть 2 ссылки в меню

/albums
/bits

По нажатию /bits срабатывает обработчик addEventListener и формирует кусок html в DOM. В нем есть id list_item, но получить доступ к list_item я не могу вне этого обработчика он равен null. Я получаю list_item добираюсь до button хочу поставить ещё один обработчик по клику и получить button.value в результате нечего( Почему так?

Получаю только по 2 клику

null
<div id=​"list_item">​…​</div>​


tabMenu.children[0].children[1].children[0].addEventListener('click', function(event)
{
		history.pushState(null, null, this.href);

		document.title = 'Bits';

		getAjax('GET', location.pathname, null, getContent);

		var list_item = document.getElementById('list_item');

		console.log(list_item);

		//var list_item = document.getElementById('list_item');

		//console.log(list_item);

		/*list_item.addEventListener('click', function(event)
		{
				console.log(list_item);
		}, true);*/

		event.preventDefault();
}, true);
  • Вопрос задан
  • 79 просмотров
Решения вопроса 2
sHinE
@sHinE
веб-разработчик, php/js/mysql и сопутствующее
Вангую, что к моменту вызова
var list_item = document.getElementById('list_item');

у вас ajax-запрос ещё не выполнился, поэтому искомого элемента в DOM ещё нет.
Судя по всему, у вас контент с нужным элементом вставляется в функции getContent - вот после её выполнения (или в ней) и добавляйте обработчик.
Ответ написан
потому что ajax асинхронен
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 18:38
1500 руб./в час
19 апр. 2024, в 18:36
1500 руб./за проект
19 апр. 2024, в 18:36
30000 руб./за проект