单击基于位置而不是元素

时间:2013-07-24 18:29:05

标签: javascript jquery events triggers

我可以创建一个采用x和y坐标的函数,并在这些坐标处单击文档吗?

通过查看this question我在jsfiddle中设置了一些示例代码,这是代码(它不起作用)

var e = new jQuery.Event("click");
e.pageX = 10;
e.pageY = 10;
$("button").click(function(){
    $(document).trigger(e);
});

我认为上面的代码会在位置(10,10)处单击文档,并且因为文档的该部分是需要单击的项目的位置,所以它应该与单击时一样这个项目。但它不......我做错了什么?

为什么

为什么我会这样做只是做一些像:

$("button").click(function(){
    $('.box').click();
});
在某些情况下,这是不可能的。例如,单击域外的iframe内的特定div。我无法通过代码点击其中的内容,因为我无法访问它的正文。但是如果我在自己的文档中知道该div的位置并强迫观众点击它,那么那就行了!

2 个答案:

答案 0 :(得分:0)

嗯,你用过

     $('button').click(function(){...});

也许,你的意思,

 var e = new jQuery.Event("click");
 e.pageX = 10;
 e.pageY = 10;
 $(document).trigger(e);

答案 1 :(得分:0)

var x=e.pageX;//get the current mouse coordinates
var y=e.pageY;

function between(val, min, max)//this fun specifies the range!!!
    {
        return val >= min && val <= max;
    }

只是示例代码。

 $('body').click(function(){    
if(between(x,your_conditional_min_x,your_conditional_max_x) && between(y,your_conditional_min_y,your_conditional_max_y))
//execute some code if its in my region!!!
});

在上面的代码中 - your_conditional_min_x和y&amp; your_conditional_max_x和y是您希望将您的点击括起来的自定义x和y位置。

如果您对代码不清楚,请告诉我们。