gpt4 book ai didi

javascript - 当用户点击时,我如何收集 x/y 以及可能已被点击的任何链接?

转载 作者:行者123 更新时间:2023-11-29 10:43:00 25 4
gpt4 key购买 nike

我觉得按钮(不是链接)具有误导性,但需要证据。所以我想记录链接点击以用于分析目的,但也希望将非链接点击记录为 x-y 坐标。

所以首先我想使用 $('a'),但那只会收集链接点击,所以我想做这样的事情:

$('html').click(function(event){
var x = event.clientX; //will these change if the user has scrolled?
var y = event.clientY;
var link_clicked = 0;

//this is what I'm not sure about:
if($(this) <contains a link that was clicked>){
link_clicked = $('<link clicked>').attr('title');
}
//so how do I find what link was clicked?

var data = {x:x;y:y;link_clicked:link_clicked};
$post(ajax_url, data, function(response){
//do nothing
});
});

所以我的第一个问题是:如果点击了链接,我如何在被点击的 html 元素中找到链接?

我的第二个问题是:当用户滚动时 clientX/Y 会改变吗?例如,如果用户在不同的滚动位置单击相同的链接,我希望 x=420 相同。

最佳答案

试试这个:

   var myItem=$('#myLink');
$('html').click(function(event){
var x = event.clientX; //will these change if the user has scrolled?
var y = event.clientY;
var link_clicked = 0;
var clickedItem=event.target;
if(clickedItem==myItem)
console.log('clicked')
...
});

编辑:

var myItem=$('#myLink');
var x=myItem.offset().left;
var y=myItem.offset().top;
var clientX=event.clientX;
var clientY=event.clientY;

从中您可以获得相对的 x/y 值。如果我理解正确的话。

关于你的第二个问题。..
是的,clientX/clientY 确实会随着滚动而改变,因为它们是特定于浏览器的(相对于顶部浏览器栏,你可以这么认为)而不是特定于文档。

关于javascript - 当用户点击时,我如何收集 x/y 以及可能已被点击的任何链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25140892/

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