如何单击页面上的坐标
How do I click coordinate on page?
这可能是一个很简单的问题,但在阅读了一些关于Stack Overflow的教程和其他帖子后,我找不到我想要的东西。
使用jQuery中的.click()
函数,我想单击页面上特定的X
和Y
位置。我找到的都是关于如何找到坐标的教程,但没有专门点击它们。
请参阅使用jQuery在特定位置查找元素?
要获取点(x,y)下的元素,请使用document.elementFromPoint。您可以将其封装在jquery对象中,并调用单击处理程序来模拟实际的单击。
function click(x,y) {
var element = document.elementFromPoint(x,y);
$(element).click();
}
注意使用elementFromPoint在绝对坐标与视口相对坐标方面的缺点http://www.zehnet.de/2010/11/19/document-elementfrompoint-a-jquery-solution/
只需将一个点击事件绑定到一个元素,然后进行相应的处理。。。没有什么不符合规范的。例如:
$(el).bind('click', function(event){
var x = event.pageX,
y = event.pageY;
console.log(x + " : " + y); // change to alert to see results with no console
});
您不必担心获取鼠标偏移的正确处理。jQuery修复了它,所以你可以简单地说event.pageX
/event.pageY
来在任何浏览器中获得位置。在上面的例子中,我只是将x和y设置为局部变量,但如果必须在可调用的范围之外使用它,则可以将它们设置为全局变量。请注意,这会将坐标记录到您的web控制台中,如果您无法访问,请将console.log
更改为类似alert
的内容,以确保一切正常。
编辑:重读你的问题后,我的答案变了:
通过使用document.elementFromPoint
设置特定元素的x和y坐标,可以将其作为目标。根据此页面,它似乎在主要浏览器中得到支持。
这里有一个关于jQuery文档的不错的小教程。本质上是这样的:
$('#chosen_element').click(function(e){
alert('X position is:' + e.pageX + 'Y position is:' + e.pageY);
});
- 如何单击页面上的坐标
- 单击Firefox工具栏按钮中的坐标
- 如何在Snap.svg中第二次单击时重置svg坐标
- 单击图像,获取坐标并将其保存在数据库JavaScript和Rails中
- 模拟单击 X Y 坐标
- D3js:如何通过鼠标单击获取纬度/对数地理坐标
- 获取鼠标单击位置坐标
- {oCanvas}如何通过鼠标单击更改线坐标
- 获取当前单击的相对于图元的坐标
- 通过Panzoom变换放大时,获取画布单击坐标
- 基于鼠标单击坐标显示图像位置
- JavaScript显示鼠标多次单击的坐标
- Webdriver按坐标单击元素两次
- 右键单击坐标
- 获取输入内的单击字符位置(不是坐标)
- 鼠标单击事件- Firefox上的鼠标坐标
- 查找最接近单击坐标的元素
- 无论何时点击后退按钮,清除表单中的所有字段
- 在SVG中报告左键单击(并按住)鼠标的坐标
- 将图像缩小到鼠标单击位置的坐标?(jQuery)