Пытается добавить слушателя событий размытия
У меня есть окно поиска на сайте, над которым я работаю, и я хотел бы отслеживать поисковые запросы, которые ищут люди.
Так как окно поиска автоматически угадывает, что кто-то печатает, и ищет его, события щелчка нет.
В консоли textContent, который я хочу, когда происходит размытие, является.textContent этого:
myVar = document.querySelectorAll('.twitter-typeahead > span')[2]
Но возвращаемое здесь значение не является нулевым, когда кто-то что-то действительно набрал. Так что присоединение события размытия кажется правильным. На обратной стороне кто-то помогает на другом форуме, я получил это далеко в консоли:
myVar.addEventListener('blur', function(){dataLayer.push({'event':'bla'})})
После ввода всего этого в консоли я не вижу каких-либо значений, помещаемых в dataLayer, что заставляет меня думать, что событие размытия не работает (в отличие от функции dataLayer.push.)
Страница с поисковой строкой находится здесь.
Как бы я прикрепил событие размытия к кому-то, не отображающему окно поиска?
1 ответ
Вы должны добавить blur
слушатель окна поиска, а не span:
searchbox = document.getElementById('searchboxID');
searchbox.addEventListener('blur', function() {
var input = this.value;
// Do whatever you want with the input
});
ES6 предоставляет еще более короткие возможности:
let el = document.getElementById('id');
el.addEventListener('blur', () => console.log(this));