Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中通过窗口偏移触发鼠标单击_Javascript - Fatal编程技术网

javascript中通过窗口偏移触发鼠标单击

javascript中通过窗口偏移触发鼠标单击,javascript,Javascript,如何通过JavaScript指定从网站左上角偏移的X和Y像素来触发鼠标左键单击 bindonclick文档体上的事件,尝试此代码 document.body.onclick = function(e){ if(e.clientX < 100 && e.clientY < 100){ // your code here } alert("X =" + e.clientX +" Y"+ e.clientY) }; document.bod

如何通过JavaScript指定从网站左上角偏移的X和Y像素来触发鼠标左键单击

bind
onclick
文档体上的事件,尝试此代码

document.body.onclick = function(e){
   if(e.clientX < 100 && e.clientY < 100){
       // your code here
   }
   alert("X =" + e.clientX +" Y"+ e.clientY)
};
document.body.onclick=函数(e){
如果(e.clientX<100&&e.clientY<100){
//你的代码在这里
}
警报(“X=”+e.clientX+“Y”+e.clientY)
};

移动时,使用jquery mousemove获取x y坐标,必要时在其中触发单击。比如:

$("body").mousemove(function( event ) {
    if(event.pageX == 50 && event.pageY == 50)
    {
        $("targetclickelement").click();
    }
});
但是效率会很低


编辑-不使用jquery,使用相同的原则,但使用Felipe Oriani答案中的处理程序。

好的,按照您的要求使用
Javascript
,您可以使用
鼠标事件,就像您可以读取
X
Y
属性一样,从
事件
对象获取协调,例如:

// mouse move
document.body.onmousemove = function(e) {
   var x = e.X;
   var y = e.Y;
   console.log(e);
}

// mouse down
document.body.onmousedown = function(e) {
   var x = e.X;
   var y = e.Y;
   console.log(e);
}
document.body.onmousedown({X:120, Y:120 /* other properties */});
要模拟鼠标单击,可以手动调用事件
onmousedown
,但必须为示例提供(传递坐标等):

// mouse move
document.body.onmousemove = function(e) {
   var x = e.X;
   var y = e.Y;
   console.log(e);
}

// mouse down
document.body.onmousedown = function(e) {
   var x = e.X;
   var y = e.Y;
   console.log(e);
}
document.body.onmousedown({X:120, Y:120 /* other properties */});

我不相信你可以做这样的事情,但是你可以抓住点击,然后检查偏移量和调用函数,如果它在范围内

$('#d').click(function(event){
    if(event.offsetX > 50 && event.offsetX < 100 && event.offsetY > 100 && event.offsetY < 200) 
    {
        ///  Execute function
    }
});
$('d')。单击(函数(事件){
如果(event.offsetX>50&&event.offsetX<100&&event.offsetY>100&&event.offsetY<200)
{
///执行函数
}
});

您可以触发元素的单击事件,并且可以使用x/y坐标获取元素-因此您可以在x/y位置触发元素的单击事件。因为您标记了jQuery:

$(document.elementFromPoint(x, y)).click(); 


来自

OP
的解决方案希望使用JavaScript解决方案。我没有单击,但我必须发出/触发单击。所以订阅任何事件都不是解决方案。找到解决方案我没有点击,但我必须发出/触发点击。所以订阅任何事件都不是解决方案。我没有点击,但我必须发出/触发点击。因此,订阅任何事件都不是解决方案。您可以强制调用这些事件,并将其用作单击窗口,查看我的编辑。我没有单击,但我必须发出/触发单击。所以订阅任何事件都不是一个解决方案。@IvanDoroshenko我不确定你的确切意思是什么,这个代码在单击事件中是整个身体的,你只能在
中获得指定的x,y值,如果
条件这也是假触发单击