努力添加模糊事件监听器

时间:2014-08-12 18:18:09

标签: javascript blur onblur google-tag-manager data-layers

我在我工作的网站上有一个搜索框,希望跟踪民众正在寻找的搜索字词。

由于搜索框自动猜测某人正在键入并搜索它,因此没有点击事件。

在控制台中,模糊发生时我想要的textContent是.textContent:

myVar = document.querySelectorAll('.twitter-typeahead > span')[2]

但是当有人实际输入某些内容时,此处返回的值仅为空。所以附加模糊事件似乎是要走的路。在某些人的帮助下,我在另一个论坛帮助我在控制台中得到了这个:

myVar.addEventListener('blur', function(){dataLayer.push({'event':'bla'})})

在控制台中输入all后,我没有看到任何值被推送到dataLayer,这让我觉得blur事件不起作用(而不是dataLayer.push函数。)

有问题的搜索框的网页是here

如何将模糊事件附加到没有搜索框的人身上?

2 个答案:

答案 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));