gpt4 book ai didi

JavaScript 用户点击

转载 作者:行者123 更新时间:2023-11-28 16:10:14 25 4
gpt4 key购买 nike

我想记录用户单击的元素(元素 id 或 xpath),例如,如果它是 href,则它会记录 xpath 或 id 或文本。我怎样才能用 JavaScript 做到这一点?

我有什么:点击:

function recordClick() {
var a = document.location
alert("you just clicked on the page"+ a);
}

function onPageLoad() {
//document.getElementsByTagName("body")[0].onclick = recordClick;
document.getElementsByTagName("html")[0].onclick = recordClick;
}

window.onload = onPageLoad;

x路径:

function createXPathFromElement(elm) { 
var allNodes = document.getElementsByTagName('*');
for (segs = []; elm && elm.nodeType == 1; elm = elm.parentNode)
{
if (elm.hasAttribute('id')) {
var uniqueIdCount = 0;
for (var n=0;n < allNodes.length;n++) {
if (allNodes[n].hasAttribute('id') && allNodes[n].id == elm.id) uniqueIdCount++;
if (uniqueIdCount > 1) break;
};
if ( uniqueIdCount == 1) {
segs.unshift('id("' + elm.getAttribute('id') + '")');
return segs.join('/');
} else {
segs.unshift(elm.localName.toLowerCase() + '[@id="' + elm.getAttribute('id') + '"]');
}
} else if (elm.hasAttribute('class')) {
segs.unshift(elm.localName.toLowerCase() + '[@class="' + elm.getAttribute('class') + '"]');
} else {
for (i = 1, sib = elm.previousSibling; sib; sib = sib.previousSibling) {
if (sib.localName == elm.localName) i++; };
segs.unshift(elm.localName.toLowerCase() + '[' + i + ']');
};
};
return segs.length ? '/' + segs.join('/') : null;
};

function lookupElementByXPath(path) {
var evaluator = new XPathEvaluator();
var result = evaluator.evaluate(path, document.documentElement, null,XPathResult.FIRST_ORDERED_NODE_TYPE, null);
return result.singleNodeValue;
}

最佳答案

使用

可以轻松获取点击内容的 id
document.body.onclick = function(anEvent) {
console.log(anEvent.target.id)
};

如果您使用 jQuery,您可以获得有关单击的对象的大量信息

$("body").click(function(anEvent){ console.log(anEvent);});

这能回答你的问题吗?

关于JavaScript 用户点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13184461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com