這可能是一個簡單的問題,但在閱讀Stack Overflow上的一些教程和其他文章後,我無法得到我正在尋找的東西。如何點擊頁面上的座標?
使用jQuery中的.click()
函數,我想單擊頁面上特定的X
和Y
位置。我找到的所有教程都是關於如何找到座標的教程,但不是專門點擊它們。
這可能是一個簡單的問題,但在閱讀Stack Overflow上的一些教程和其他文章後,我無法得到我正在尋找的東西。如何點擊頁面上的座標?
使用jQuery中的.click()
函數,我想單擊頁面上特定的X
和Y
位置。我找到的所有教程都是關於如何找到座標的教程,但不是專門點擊它們。
見Using jQuery to find an element at a particular position?
要得到點(x,y)的使用document.elementFromPoint下的元素。你可以把它包裝在一個jquery對象中,並調用click處理程序來模擬實際的點擊。
function click(x,y) {
var element = document.elementFromPoint(x,y);
$(element).click();
}
小心使用elementFromPoint關於絕對座標VS視相對座標http://www.zehnet.de/2010/11/19/document-elementfrompoint-a-jquery-solution/
這是關於jQuery文檔的nice little tutorial。從本質上講它會像這樣:
$('#chosen_element').click(function(e){
alert('X position is:' + e.pageX + 'Y position is:' + e.pageY);
});
這是用於打印點擊元素的位置,而不是用於設置我想要點擊的位置的座標。謝謝你的回答! – Dustin
click事件只是綁定到一個元素,那麼處理它相應的...沒有了規範。舉個例子:
$(el).bind('click', function(event){
var x = event.pageX,
y = event.pageY;
console.log(x + " : " + y); // change to alert to see results with no console
});
你不必擔心正確處理獲得鼠標偏移。 jQuery修復它,所以你可以簡單地說event.pageX
/event.pageY
在任何瀏覽器中獲得位置。在上面的例子中,我只是將x和y設置爲局部變量,但是如果您不得不在可調用範圍之外使用它,則可以將它們設置爲全局變量。請注意,這會將座標記錄到您的Web控制檯,如果您無法訪問它,請將console.log
更改爲alert
之類的內容,以確保一切正常。
編輯:重讀你的問題,我的回答修改後:
您可以通過設置它的x和y座標使用document.elementFromPoint
針對一個特定的元素。根據this page,它似乎受到主流瀏覽器的支持。
我會認爲你需要移動光標爲了做到這一點,不能在JavaScript中做的弊端。 http://stackoverflow.com/questions/2105733/mouse-move-on-element/2105766 – JDavis
可能的重複http://stackoverflow.com/questions/2845178/triggering-a-javascript-click-event-at-specific -coordinates – Breezer
如果jQuery可以點擊頁面上的特定元素,我會認爲它可以做同樣的只是一個特定的位置,而不是它?不,這不是重複的帖子。 – Dustin