Track ALL clicked elements using JavaScript(使用 JavaScript 跟踪所有点击的元素)
问题描述
我想跟踪在 HTML 页面上点击的所有元素.我需要一个很好的方法来准确引用哪个元素被点击(这样我以后就可以在一个相同的单独的 HTML 页面上重放这些点击).
I want to track ALL elements that are clicked on a HTML-page. I need a good way to reference exactly which element was clicked (so I will be able to replay the clicks on a identical separate HTML-page later on).
有没有好的方法来引用被点击的元素?
我可以为页面上的每个元素添加唯一的 ID 和类名.但我想肯定还有别的办法?
I could add unique id's and classnames to every single element on the page. But I figure there must be another way?
我将重放点击的 HTML 页面将是相同的.
The HTML-page which I will be replaying the clicks on will be identical.
类似的东西(但更准确的信息是它是哪个元素,也许可以收集)...
Something like this (but more exact information which element it was, maybe that's possible to collect)...
跟踪点击了哪个元素的代码
var arrayWithElements = new Array();
document.onclick = clickListener;
function clickListener(e) {
var clickedElement;
if(e == null) {
clickedElement = event.srcElement;
} else {
clickedElement = e.target;
}
arrayWithElements.push(clickedElement)
alert(arrayWithElements);
}
将在相同 HTML 页面上使用的代码
document.someHowGetTheElement().onclick();
推荐答案
我猜你正在寻找这样的东西:
I guess you are looking for something like this:
var arrayWithElements = new Array();
function clickListener(e)
{
var clickedElement=(window.event)
? window.event.srcElement
: e.target,
tags=document.getElementsByTagName(clickedElement.tagName);
for(var i=0;i<tags.length;++i)
{
if(tags[i]==clickedElement)
{
arrayWithElements.push({tag:clickedElement.tagName,index:i});
console.log(arrayWithElements);
}
}
}
document.onclick = clickListener;
<小时>
它将在每次点击时存储一个包含元素标签名和索引的对象.因此,您可以使用
It will store on every click an object that contains the tagName of the element and the index. So you may access this element in another "instance" of this document by using
document.getElementsByTagName(item.tag)[item.index]
(其中 item 是 arrayWithElements 的一项)
(where item is an item of arrayWithElements)
演示:http://jsfiddle.net/doktormolle/z2wds/一个>
这篇关于使用 JavaScript 跟踪所有点击的元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:使用 JavaScript 跟踪所有点击的元素
- 如何使用 JSON 格式的 jQuery AJAX 从 .cfm 页面输出查 2022-01-01
- 失败的 Canvas 360 jquery 插件 2022-01-01
- 400或500级别的HTTP响应 2022-01-01
- Fetch API 如何获取响应体? 2022-01-01
- Flexslider 箭头未正确显示 2022-01-01
- CSS媒体查询(最大高度)不起作用,但为什么? 2022-01-01
- 使用RSelum从网站(报纸档案)中抓取多个网页 2022-09-06
- Quasar 2+Apollo:错误:找不到ID为默认的Apollo客户端。如果您在组件设置之外,请使用ProvideApolloClient() 2022-01-01
- Css:将嵌套元素定位在父元素边界之外一点 2022-09-07
- addEventListener 在 IE 11 中不起作用 2022-01-01