我在我工作的网站上有一个搜索框,希望跟踪民众正在寻找的搜索字词。
由于搜索框自动猜测某人正在键入并搜索它,因此没有点击事件。
在控制台中,模糊发生时我想要的textContent是.textContent:
myVar = document.querySelectorAll('.twitter-typeahead > span')[2]
但是当有人实际输入某些内容时,此处返回的值仅为空。所以附加模糊事件似乎是要走的路。在某些人的帮助下,我在另一个论坛帮助我在控制台中得到了这个:
myVar.addEventListener('blur', function(){dataLayer.push({'event':'bla'})})
在控制台中输入all后,我没有看到任何值被推送到dataLayer,这让我觉得blur事件不起作用(而不是dataLayer.push函数。)
有问题的搜索框的网页是here。
如何将模糊事件附加到没有搜索框的人身上?
答案 0 :(得分:4)
您应该将blur
侦听器添加到搜索框,而不是跨度:
searchbox = document.getElementById('searchboxID');
searchbox.addEventListener('blur', function() {
var input = this.value;
// Do whatever you want with the input
});
答案 1 :(得分:0)
ES6提供了更短的可能性:
let el = document.getElementById('id');
el.addEventListener('blur', () => console.log(this));