javascript中通过窗口偏移触发鼠标单击
如何通过JavaScript指定从网站左上角偏移的X和Y像素来触发鼠标左键单击 bindjavascript中通过窗口偏移触发鼠标单击,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
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值,如果条件这也是假触发单击