如何单击页面上的坐标?

时间:2012-08-23 01:03:07

标签: javascript jquery

这可能是一个简单的问题,但在阅读Stack Overflow上的一些教程和其他帖子后,我无法得到我想要的内容。

使用jQuery中的.click()函数,我想点击页面上的特定XY位置。我找到的只是如何找到坐标的教程,但没有特别点击它们。

3 个答案:

答案 0 :(得分:2)

请参阅Using jQuery to find an element at a particular position?

要获取点(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/

的缺点

答案 1 :(得分:0)

这是关于jQuery文档的nice little tutorial。基本上就是这样:

$('#chosen_element').click(function(e){
    alert('X position is:' + e.pageX + 'Y position is:' + e.pageY);
});

答案 2 :(得分:0)

只需将click事件绑定到一个元素,然后相应地处理它......没有任何规范。举个例子:

$(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坐标来定位特定元素。根据{{​​3}},主流浏览器似乎支持它。