2012-04-24 222 views
5

如何使用javascript或jquery模擬x/y座標點擊?使用javascript模擬點擊x/y座標

我將多次使用該腳本,我希望腳本點擊位置一然後位置兩個然後三個然後四個等等。

最好不要移動鼠標光標,但如果它必須移動,那麼也很好。

+4

'{嘗試寫一些代碼}趕上(不能做到這一點){擲(發脾氣);}' – 2012-04-24 20:31:53

+1

我希望聽到更多關於你想要完成的事情......給我一個懷疑論,但我懷疑你可能試圖欺騙你的點擊收入。 – Prestaul 2012-04-24 20:40:04

+0

[使用x,y座標模擬點擊? - Javascript](http://stackoverflow.com/questions/3277369/simulate-a-click-by-using-xy-coordinates-javascript) – Prestaul 2012-04-24 20:53:56

回答

17

這實際上可以用document.elementFromPoint方法完成。這個jQuery例如:

function simulateClick(x, y) { 
    jQuery(document.elementFromPoint(x, y)).click(); 
} 
simulateClick(100, 250); 
simulateClick(400, 250); 

編輯:這裏是一個工作示例:http://jsfiddle.net/z5YjY/

+0

+1忘了所有關於他的方法。 – Sampson 2012-04-24 20:36:26

+0

爲什麼我看到-2 這是真的奇怪 任何方式感謝ü烏拉圭回合的答覆我會嘗試,並告訴ü – 2012-04-24 21:12:30

+0

我很抱歉,但我怎麼可以使用此代碼 可以ü請給我完整的代碼 放之前 <腳本類型=「文/ JavaScript的」> 還是什麼 ,將使其在現在的位置是100 25和現在的位置是400 250,即使它是一個iframe ,我可以做也是正確的頁面自動點擊點擊 什麼jquey我必須包括在頭 – 2012-04-24 21:45:45

5

在第二個採取,我想分享我的經驗,並更新Prestaul的答案。

在大多數情況下,你不只是想點擊一個元素來誘導'onclick'事件,但你想使用點擊信息的東西(例如:在那裏移動滑塊,或把一個滑塊彈出在那個確切的地方)。

我主要使用香草js,但它與$很好地融合在一起。

function simulateClick(x, y) { 
    var clickEvent= document.createEvent('MouseEvents'); 
    clickEvent.initMouseEvent(
    'click', true, true, window, 0, 
    0, 0, x, y, false, false, 
    false, false, 0, null 
    ); 
    document.elementFromPoint(x, y).dispatchEvent(clickEvent); 
} 

基本上這會通過事件傳遞正確的pageX/pageY,以備後用。

我已經更新了小提琴爲好,顯示出使用這些COORDS的: http://jsfiddle.net/V4CdC/