2012-04-24 23 views
5

Jak mogę zasymulować kliknięcie przy współrzędnych x/y przy użyciu javascript lub jquery?Symulacja kliknięcia przy współrzędnych x/y przy użyciu javascript

Będę używał skryptu wiele razy i chcę, aby skrypt kliknął na pozycję jeden, potem na pozycję dwa, potem na trzy, a następnie na cztery.

Lepiej jest bez przesuwania kursora myszy, ale jeśli ma się poruszać, to również jest w porządku.

+4

'try {pisania niektóre kodu} catch (nie może to zrobić) {throw (tantrum);} I' –

+1

Chciałbym usłyszeć więcej o tym, co próbujesz osiągnąć ... Zadzwoń do mnie sceptyk, ale jestem podejrzliwy, że możesz próbować oszukiwać swoją drogę do pewnego dochodu opartego na kliknięciu. – Prestaul

+0

możliwy duplikat [Symulacja kliknięcia za pomocą współrzędnych x, y? - Javascript] (http://stackoverflow.com/questions/3277369/simulate-a-click-by-using-xy-coordinates-javascript) – Prestaul

Odpowiedz

17

Można to w rzeczywistości zrealizować za pomocą metody document.elementFromPoint. A Przykład jQuery:

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

Edit: Oto przykład roboczych: http://jsfiddle.net/z5YjY/

+0

+1 Zapomniałem o jego metodzie. – Sampson

+0

dlaczego widzę -2 to jest naprawdę dziwne sposób thank u ur post i będzie spróbować i powiedzieć u –

+0

im przykro, ale w jaki sposób można wykorzystać ten kod może u proszę mi dać pełny kod umieścić przed nim

5

Na drugim odbiorze, chciałbym podzielić się moimi doświadczeniami i zaktualizować odpowiedź Prestaul użytkownika.

W większości przypadków nie wystarczy kliknąć element, aby wywołać zdarzenie "onclick", ale chcesz użyć informacji o kliknięciu (np .: przesuń tam suwak lub umieść popup w tym miejscu).

Używam głównie wanilii js, ale dobrze komponuje się z $.

Zasadniczo spowoduje to przekazanie prawidłowej strony X/pageY przez zdarzenie, w celu dalszego wykorzystania.

I zostały zaktualizowane na skrzypcach, a także, aby pokazać zastosowanie tych coords: http://jsfiddle.net/V4CdC/