2014-04-01 125 views
2

如何通過JavaScript指定左上角網站角落的X和Y像素偏移量來觸發鼠標左鍵單擊?觸發鼠標點擊通過JavaScript中的窗口偏移量

+0

我沒有點擊,但是我不得不發出

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

https://developer.mozilla.org/En/DOM:document.elementFromPoint

解決方案/觸發點擊。所以訂閱任何事件都不是解決方案。 –

+0

找到解決方案http://stackoverflow.com/questions/3277369/how-to-simulate-a-click-by-using-xy-coordinates-in-javascript –

回答

1

綁定onclick事件對文檔正文,試試這個代碼

document.body.onclick = function(e){ 
    if(e.clientX < 100 && e.clientY < 100){ 
     // your code here 
    } 
    alert("X =" + e.clientX +" Y"+ e.clientY) 
}; 
+0

我沒有點擊,但我必須發出/觸發點擊。所以訂閱任何事件都不是解決方案。 –

+0

@IvanDoroshenko @IvanDoroshenko我不確定你說的是什麼意思,這個代碼是單擊事件中的全身,你只能在'if'條件下獲得指定的x,y值這也是假觸發點擊 – Girish

0

使用jQuery鼠標移動移動時獲得x和y COORDS,然後在必要時在其中火點擊。喜歡的東西:

$("body").mousemove(function(event) { 
    if(event.pageX == 50 && event.pageY == 50) 
    { 
     $("targetclickelement").click(); 
    } 
}); 

會,雖然非常低效...

編輯 - 沒有jQuery的,使用相同的原則,但在菲利普Oriani的答案的處理程序。

+1

'OP'想要解決方案在JavaScript中。 – Girish

3

好了,只用Javascript你問,你可以使用mouse事件,你可以閱讀XY性質從event對象獲取coordinaties,樣品:

// 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); 
} 

爲了模擬鼠標點擊,您可以手動調用事件onmousedown,但你必須提供event parameter(通過座標,等等),樣品:

document.body.onmousedown({X:120, Y:120 /* other properties */}); 
+0

我沒有點擊,但我必須發出/觸發點擊。所以訂閱任何事件都不是解決方案。 –

+0

你可以強制這些事件的調用,並作爲一個點擊窗口,看看我的編輯。 –

0

我不相信你可以做這樣的事情,但是你能趕上點擊然後檢查偏移和通話功能,如果在範圍內

$('#d').click(function(event){ 
    if(event.offsetX > 50 && event.offsetX < 100 && event.offsetY > 100 && event.offsetY < 200) 
    { 
     /// Execute function 
    } 
}); 
+0

我沒有點擊,但我必須發出/觸發點擊。所以訂閱任何事件都不是解決方案。 –

相關問題