鼠标点击坐标-一个真正的解决方案…有吗?
Mouse Click coordinates - a true solution ... is there one?
截至目前,StackOverflow中有3,898个关于鼠标点击坐标的帖子。它们都涵盖了如何找到鼠标坐标....的所有内容
有没有人能够实现一种解决方案,在处理的任何点,您都可以回忆起最后一次鼠标单击的坐标?
在过去的8个小时左右,我已经尝试了所有的解决方案,但无法找到任何可以回忆起上次鼠标点击坐标的东西。
显然,您必须在处理$('…')时捕获它。click(function(e){…});
如果我将处理发送到某个地方,并且在该处理中(几纳秒后)我想找出最后一次鼠标单击的坐标,该怎么办?如何在特定函数之外检索它?
编辑:根据sdleihssirhc的建议,我能够实现一个适合我的解决方案:
在主页上,我创建了两个div(以避免处理数组和全局变量):<div id='mouseX' style='display:none; ' ></div>
<div id='mouseY' style='display:none; ' ></div>
在主页面的脚本标签中:
$('#wrapper').click(function(e) {
var offset = $(this).offset();
$('#mouseX').text(e.clientX - offset.left);
$('#mouseY').text(e.clientY - offset.top);
});
需要的时候,我只要:
var clickX = $('#mouseX').text();
var clickY = $('#mouseY').text();
谢谢!
您可以设置一个全局数组,用于跟踪坐标(可能在对象中,无论如何)。然后,可以向文档添加事件侦听器,侦听单击。然后就是记录位置的问题了。
每当您想要引用上次单击期间的位置时,只需引用全局数组的适当元素即可。(如果你的日志函数没有移位,而不是推入,你总是可以只看yourArray[0]
)
在$('...').click(function(e){...});
处理程序中,您可以使用坐标设置全局变量。例如:
var x = -1, // no previous click
y = -1; // no previous click
在点击处理程序中:
x = e.pageX();
y = e.pageY();
然后,当你需要最后一次点击的坐标时,你可以参考x
和y
。
相关文章:
- 可以转换显示属性吗?如果没有,什么'这是最好的解决方案
- 在chrome web商店中打开时,是否有允许执行内容/后台脚本的解决方案
- chrome中的意外全局变量有解决方案吗
- 如何让我的网站上的WEBP图像加载在morzilla firefox中有一个可能的解决方案吗?如果是,那么如何
- 这里有一个更优雅的/DRY/可维护的JS解决方案
- 当我想发布一个变量但有 1 个 js 时,ajax post 的解决方案是什么
- AngularJS中的动态表单验证 - 是否有更好的解决方案/方法
- 是否有用于CSS浏览器支持新功能的javascript解决方案
- Firefox for Android - 地址栏内容重叠.有没有解决方案
- 有没有一个简单的解决方案可以根据3个数据找到结果
- 是否有跨浏览器的解决方案可以在客户端上创建目录
- DOM在指令中未就绪's链接功能.hacky Timeout是唯一的解决方案吗
- Javascript逻辑运算符||将0读取为假值.有什么好办法解决这个问题吗
- 你能解释一下第 3 章 Eloquent js 中的这个递归解决方案吗?
- Google PageSpeed Insights说我的网站很重.外部模态是一种解决方案吗?
- setTimeout 是使用 javascript 执行异步函数的好解决方案吗?
- 在不刷新的情况下更改页面 URL - 是否有跨浏览器解决方案
- 太多的音频标签使我的网站加载速度非常慢.有没有解决方案
- jQuery:另一种解决方案可能吗
- 鼠标点击坐标-一个真正的解决方案…有吗?