正在努力添加模糊事件侦听器
Struggling to add a blur event listener
我在网站上有一个搜索框,我想跟踪人们正在寻找的搜索词。
由于搜索框自动猜测用户输入的内容并进行搜索,因此没有点击事件。
在控制台中,当模糊发生时,我想要的textContent是this的。textContent:
myVar = document.querySelectorAll('.twitter-typeahead > span')[2]
但是这里返回的值只有在某人实际键入某些内容时才不为空。所以附加一个模糊事件似乎是可行的方法。在另一个论坛的帮助下,我在控制台上走了这么远:
myVar.addEventListener('blur', function(){dataLayer.push({'event':'bla'})})
在控制台输入这一切后,我没有看到任何值被推到dataLayer,这让我认为模糊事件不工作(与dataLayer相反)。推动功能。)
搜索框所在的页面在这里。
我如何将一个模糊事件附加到一个不聚焦搜索框的人?
您应该将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('blurred'));
或者如果你需要元素:
let el = document.getElementById('id');
el.addEventListener('blur', (event) => console.log(event.target));
片段:
let el = document.getElementById('id');
el.addEventListener('blur', (event) => console.log(`${event.target}: ${event.target.value}`));
<input id="id" />
相关文章:
- 如何在for循环中添加事件侦听器
- 未命中服务器发送的事件侦听器
- 如何覆盖原型中的事件侦听器
- 无法将事件侦听器附加到画布
- 如何在d3.js中自定义事件侦听器
- 在es6中,将带有回调的事件侦听器设置为可迭代的
- 事件侦听器未在chrome扩展中的options.js中启动
- IE8更改文本区域上的事件侦听器不工作
- 将事件侦听器添加到文档,而不是签入元素存在,然后添加事件侦听器
- javascript删除事件侦听器
- 我应该/如何清除mousemove JQuery事件侦听器
- 在JQuery中使用谷歌地图Api事件/侦听器
- 如何使用我的Jquery代码创建委托事件侦听器
- 'mousemove'画布中的事件侦听器-指针仅在最后一个矩形中更改
- 为什么此事件侦听器不工作
- 是否可以在数字输入框中的小按钮中添加事件侦听器
- 在Google Chrome扩展中添加事件侦听器
- SVG元素在转换后会丢失事件侦听器
- jQuery事件侦听器多次启动
- 如何在不删除类似侦听器的情况下从父对象中删除jQuery事件侦听器