javascript - 努力添加模糊事件监听器

标签 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'})})

在控制台中输入所有内容后,我没有看到任何值被推送到 dataLayer,这让我认为 blur 事件不起作用(与 dataLayer.push 函数相反。)

带有相关搜索框的页面是 here .

我如何将模糊事件附加到不关注搜索框的人?

最佳答案

您应该将 blur 监听器添加到搜索框,而不是 span:

searchbox = document.getElementById('searchboxID');
searchbox.addEventListener('blur', function() {
    var input = this.value;
    // Do whatever you want with the input
});

关于javascript - 努力添加模糊事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25271366/

相关文章:

android - Activity 模糊导致滞后

javascript - 从 'onblur' 事件中排除表单按钮,JavaScript

javascript - Javascript onBlur 事件在 html 文件中出现错误

javascript - 从 Javascript 对象中检索特定值

javascript - 如何将一个变量中的一些json数组拆分为不同的变量? (Javascript)

纯新手的 Javascript 书籍

windows-phone-7 - WP7 背景虚化效果

javascript - 如何确定 javascript 回调中必要的参数

python - 平滑二值图像的边缘

javascript - onblur 事件包含 if 语句和函数调用